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中文網其他相關文章!