4

次のコード:

s = s.replace(u"&", u"&")

Pythonでエラーを引き起こしています:

SyntaxError: invalid syntax

問題を修正するu前に'を削除しますが、これはそのまま機能するはずですか?"Python3.1を使用しています

4

3 に答える 3

11

uPython3では使用されなくなりました。文字列リテラルはデフォルトでUnicodeです。Python3.0の新機能を参照してください。

u"..."Unicodeテキストにリテラルを使用できなくなりました。b"..."ただし、バイナリデータにはリテラルを使用する必要があります。

于 2011-09-27T12:23:47.667 に答える
3

Python 3では、文字列はユニコードです。uユニコードを指定するために文字列リテラルの前にaを付ける必要はありません(そしてあなたが発見したように、あなたはそうすることができません) 。

代わりにb、バイトリテラルの前にaを付けて、 Unicodeではないことを指定する必要があります。

于 2011-09-27T12:24:13.463 に答える
1

Python3.3 +では、Unicodeリテラルが再び有効になります。Python3.3の新機能を参照してください。

新しい構文機能:

ジェネレーター委任の式からの新しい歩留まり。
u'unicode'構文は、strオブジェクトに対して再び受け入れられます。

于 2015-03-19T15:55:15.990 に答える