Python字串前加r的真正含義

2021-10-04 07:42:16 字數 1025 閱讀 9299

"""

字串中,存在一種特殊字元:轉義字元\,如:

\a 響鈴(bel)

\b 退格

\t 製表符

\r 回車(cr) ,將當前位置移到本行開頭

\n 換行(lf) ,將當前位置移到下一行開頭

\\ 代表乙個反斜線 \

\' 代表乙個單引號 '

\" 代表乙個雙引號 "

\? 代表乙個問號 ?

字串中,碰到上述字元組合,會自動轉義

在python中字串前加r,等價於在所有\前再加乙個\,變成\\,\\被轉義為\,從而避免\轉義n,t,r等字元,\不再代表轉義字元(禁止轉義)

總結:\為轉義字元,具備轉義能力,'\\'或r'\'則失去轉義能力 代表乙個普通字元\

"""str1 = '\n' # n被轉義,代表乙個換行符

print('str1:', str1, repr(str1), len(str1))

str2 = r'\n' # 加r,會在\前再加乙個\,根據從左往右運算規則,\\轉義為\,n單獨存在,最終結果為兩個字元: \ n

print('str2:', str2, repr(str2), len(str2), str2[0], str2[1]) # str2: \n '\\n' 2 \ n

str3 = '\\n' # 與str2等價

print('str3:', str3, repr(str3), len(str3), str3[0], str3[1]) # str3: \n '\\n' 2 \ n

# 思考:以下路徑為何會報錯?

# 原因:\被識別為轉義字元與\u結合導致報錯

# 修改:

python 字串前加 b u r 含義

常見的形式有以下三種 u u unicode編碼 適用於中文。英文本元無需編碼,正常可以解析。但是中文,必須標明編碼,否則編碼轉換就會出現亂碼。r r 非轉義的原始字串 比如最常見的 n 表示換行。而在這些轉義字元前加r,那麼說明後面的字元,都是普通的字元了,即如果是 n 那麼表示乙個反斜槓字元,乙...

Python字串前加r u的含義

python字串前加字元r是告訴直譯器該字元是原始字元 不要轉義 原始字串 所有的字串都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元。原始字串除在字串的第乙個引號前加上字母 r 可以大小寫 以外,與普通字串有著幾乎完全相同的語法。python字串前加字元u是告訴直譯器該字元是按照unic...

python字串前加「u r b f」的作用

1.1示例 str demo u hello,中國!1.2 作用解釋 字串前加上u進行標記意識就是該字串會以 unicode 格式 進行編碼,一般用在字串中有中文字元的時候才會加,原因只要防止因字串原始碼儲存格式問題,導致再次使用時出現中文亂碼。2.1示例str demo r d p a z a z...