Python 中的原始字串和 Unicode 字串
Neema Muganga
2023年1月30日
Python 中的原始字串
Python 中的原始字串字面量定義了在開引號前以 r
或 R
為字首的普通字串。如果字串中存在反斜槓 (\
),則原始字串將此字元視為文字字元而不是轉義字元。
例如,
print(r"\n")
print(r"\t")
輸出:
\n
\t
定義字串時需要將每個反斜槓加倍,以免將其誤認為是換行符或新制表符等轉義序列的開頭。我們在正規表示式的語法和表達 Windows 檔案路徑
時看到了這樣的語法應用。
注意
r'\'
將引發語法錯誤,因為 r
將反斜槓視為文字。如果沒有 r
字首,反斜槓將被視為轉義字元。例子:
text = "Hello\nWorld"
print(text)
輸出:
Hello
World
如果沒有原始字串標誌 r
,反斜槓被視為轉義字元,因此在列印上述字串時,會生成新行轉義序列。因此,文字中的兩個字串在單獨的行中列印出來,如輸出中所示。
使用相同的文字示例,在字串前新增 r
字首。
例子:
text = r"Hello\nWorld"
print(text)
輸出:
Hello\nWorld
從輸出中,原始字串標誌將反斜槓視為文字,並列印出包含反斜槓的文字。因此,輸入和輸出都是相同的,因為反斜槓字元沒有被轉義。
例如,'\\n'
和 r'\n'
具有相同的值。
print("\\n")
print(r"\n")
Python Unicode 字串
Unicode 是儲存 python 字串的一種方式。Unicode 可以儲存所有語言型別的字串。第二種方式是 ASCII
型別的字串儲存,在 Python 中表示為 str
。str
是 Python 中儲存字串的預設資料型別。
要將字串轉換為 Unicode 型別,請像這樣在文字之前放置一個 u
- u'string'
或像這樣呼叫 unicode()
函式 - unicode('string')
。
u'text'
是一個 Unicode 字串,而text
是一個位元組字串。Unicode 物件佔用更多記憶體空間。
例如,
test = u"一二三"
print(test)
輸出:
一二三