Unicode 文字导致语法无效
以下代码:
s = s.replace(u"&", u"&")
在 python 中导致错误:
SyntaxError: invalid syntax
在 "
修复问题之前删除 u
's,但这应该按原样工作?我正在使用 Python 3.1
The following code:
s = s.replace(u"&", u"&")
is causing an error in python:
SyntaxError: invalid syntax
removing the u
's before the "
fixes the problem, but this should work as is? I'm using Python 3.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Python 3 中不再使用
u
。默认情况下,字符串文字是 unicode。请参阅 Python 3.0 的新增功能。The
u
is no longer used in Python 3. String literals are unicode by default. See What's New in Python 3.0.在 Python 3 上,字符串是 unicode。没有必要(正如您所发现的,您不能)在字符串文字之前放置
u
来指定 unicode。相反,您必须在字节文字之前放置一个
b
来指定它不是 unicode。On Python 3, strings are unicode. There is no need to (and as you've discovered, you can't) put a
u
before the string literal to designate unicode.Instead, you have to put a
b
before a byte literal to designate that it isn't unicode.在 Python3.3+ 中,unicode 文字再次有效,请参阅 新增内容Python 3.3:
In Python3.3+ unicode literal is valid again, see What’s New In Python 3.3: