Python-字符串前面加r,u,b的理解


(1)以r或R開頭的python中的字符串表示(非轉義的)原始字符串

python里面的字符,如果開頭處有個r,比如:

(r’^time/plus/\d{1,2}/$’, hours_ahead)

說明字符串r"XXX"中的XXX是普通字符。

有普通字符相比,其他相對特殊的字符,其中可能包含轉義字符,即那些,反斜杠加上對應字母,表示對應的特殊含義的,比如最常見的”\n"表示換行,"\t"表示Tab等。

而如果是以r開頭,那么說明后面的字符,都是普通的字符了,即如果是“\n”那么表示一個反斜杠字符,一個字母n,而不是表示換行了。

以r開頭的字符,常用於正則表達式,對應着re模塊。

(2)以u或U開頭的字符串表示unicode字符串

Unicode是書寫國際文本的標准方法。如果你想要用非英語寫文本,那么你需要有一個支持Unicode的編輯器。

 

類似地,Python允許你處理Unicode文本——你只需要在字符串前加上前綴u或U。

 

不是僅僅是針對中文, 可以針對任何的字符串,代表是對字符串進行unicode編碼。 

一般英文字符在使用各種編碼下, 基本都可以正常解析, 所以一般不帶u;但是中文, 必須表明所需編碼, 否則一旦編碼轉換就會

出現亂碼。 

建議所有編碼方式采用utf8

舉例:

 

u"This is a Unicode string."

(3)以b或B開頭的字符串 b:byte

spython3.x里默認的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前綴代表的就是bytes 

python2.x里, b前綴沒什么具體意義, 只是為了兼容python3.x的這種寫法

 

轉載  https://blog.csdn.net/qq_14860599/article/details/80085905


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM