1. 程式人生 > >python中字串前的r什麼意思

python中字串前的r什麼意思

Python中,u表示unicode string,表示使用unicode進行編碼,沒有u表示byte string,型別是str,在沒有宣告編碼方式時,預設ASCI編碼。如果要指定編碼方式,可在檔案頂部加入類似如下程式碼:

# -*- coding: utf-8 -*-  

utf-8是一種支援中文的編碼格式。

字母前加r表示raw string,也叫原始字串常量。一般用在一下兩個方面:

1、正則表示式
用於處理正則表示式時,規避反斜槓的轉義

2、系統路徑
如下面的路徑,使用r就防止了\t的轉義

擴充套件資料:
python在執行程式碼是,所有的計算都會由記憶體進行,此時的編碼格式是unicode,因為世界上存在著多種編碼方式,同一個二進位制數字可以被解釋成不同的符號。為了統一編碼格式,便於計算,就出現了unicode。


去掉python內建的轉義意義(也就是不轉義了)
簡單來說“\n\tbce”這樣的字串、由於\t和\n在python有自己特殊的意義、如果你需要在字串中保持\t的原始意義、就需要在r"\n\tbce",這樣以來就不會吧\t \n轉義成換行。


這個是表示不轉義,使用真實字元。
比如,如下程式碼:
s = r'test\tddd'
s2 = 'test\tddd'
print(s)
print(s2)
輸出結果是:
test\tddd
test ddd
其中s裡面的\t就是使用真實字元\t,而不是轉義為製表符。