在python中,如果字串的前面有r/r字首,那麼,就會禁用轉義符\的功能:
>>>path = r'c:\new\text.dat
'>>>pah
'c:\\new\\text.dat
(path)
c:\new\text.dat
>>>len(path) #
雖然列印的形式不一樣,但是字元數還是15個
15
上面的例子中,在互動環境下列印,python將列印結果當成python code來看待,因此,會有雙斜槓;而print函式列印形式就比較友好。但是,無論採用哪種列印方式,字元個數是不變的,上述例子中,使用len函式檢視,字元個數還是15個。
對於r字首,還需要注意的一點是,如果字串結束標誌,即'或者"前面是乙個\,即使使用了r字首,python仍然將它看成不合法的字元:
>>>s = r'a\'syntaxerror:eol while
scanning string literal
>>>s = r'
a\\'
#正確處理方式,仍需雙斜槓\\
>>>s
'a\\\\
(s)a\\
>>>len(s) #
每乙個斜槓\都看成乙個字元
3
python字串字首 u和r的區別
1 以r或r開頭的python中的字串表示 非轉義的 原始字串 python裡面的字元,如果開頭處有個r,比如 r time plus d hours ahead 說明字串r 中的 是普通字元。有普通字元相比,其他相對特殊的字元,其中可能包含轉義字元,即那些,反斜槓加上對應字母,表示對應的特殊含義的...
Python 字串字首
該部落格主要記錄下python字串的字首,讓後續的使用更加方便 後面字串以 unicode 格式 進行編碼,一般用在中文字串前面,防止因為原始碼儲存格式問題,導致再次使用時出現亂碼。作用 去掉反斜槓的轉移機制。特殊字元 即那些,反斜槓加上對應字母,表示對應的特殊含義的,比如最常見的 n 表示換行,t...
Python中的字串字首r, b, u
r應該是raw的縮寫,表示不需要加工,僅僅包裹一串字串。例如 r n 不表示換行,僅僅表示反斜槓 和小寫字母 n 組成的字串。不需要加工 轉義等進行翻譯。b表示bytes的意思,即要求程式加字串載入為bytes型別,bytes型別的資料常用於網路的資料封裝。在 python3 中,bytes 和 s...