Python 中字符串值之前出现的“u”符号的含义
渲染表单时,特定字符串值为什么前面有一个“u”符号吗?
当你看到这样的符号时,表明该字符串是 Unicode 字符串。 Unicode 是一种表示无法用常规 ASCII 表示的附加字符的方法。如果您看到“u”,则表示您正在使用 Python 2。在 Python 3 中,字符串默认为 Unicode,但在 Python 2 中,Unicode 字符串通过前导“u”进行区分。后续答案将重点关注Python 2。
创建 Unicode 字符串的方法有多种。
<code class="python">>>> u'foo' u'foo' >>> unicode('foo') # Python 2のみ u'foo'</code>
但是,“u”对于表达如下内容至关重要(翻译如下):
<code class="python">>>> val = u'Ознакомьтесь с документацией' >>> val u'\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439' >>> print(val) Ознакомьтесь с документацией</code>
在 Python 2 中,Unicode 和非 Unicode 字符串在大多数情况下是可以互操作的。
可能出现的其他符号包括表示“原始”符号的“r”,它表示不解释反向间隙的字符串。这对于编写正则表达式非常有用。
<code class="python">>>> 'foo\"' 'foo"' >>> r'foo\"' 'foo\"'</code>
在 Python 2 中,unicode 和非 unicode 字符串可能是相等的。
<code class="python">>>> bird1 = unicode('unladen swallow') >>> bird2 = 'unladen swallow' >>> bird1 == bird2 True</code>
但是,在 Python 3 中它们并不相等。
<code class="python">>>> x = u'asdf' # Python 3 >>> y = b'asdf' # bはバイト文字列を示す >>> x == y False</code>
以上是为什么 Python 中的字符串值之前会出现'u”前缀?的详细内容。更多信息请关注PHP中文网其他相关文章!