python字元串前u
① python 中文字元串前為什麼加u
# -*- coding: UTF-8 -*- 這句是告訴python程序中的文本是utf-8編碼,讓python可以按照utf-8讀取程
中文前加u就是告訴python後面的是個unicode編碼,存儲時按unicode格式存儲。
② python中文字元串前為什麼加u
python中文字元串前為什麼加u?因為u可以針對任何字元串。u不只連接漢語, 可以連接所有的字元串。它表示可以對字元串進行unicode編碼.常理來說英文字元在使用沖塌各種編碼下, 一般都可以正常解析, 所以一般也就不帶u了。
③ python字元串前綴 u和r的區別
(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模塊。
關於re模塊,詳情自己google搜索「python re」。
舉例:
原始字元串操作符(r/R),能方便處理反斜杠:
f = open(r'C:\Program
Files\Adobe\Reader 9.0\Setup Files\setup.ini','r')
for i in f:
print i
f.close()
(2)以u或U開頭的字元串表示unicode字元串
Unicode是書寫國際文本的標准方法。如果你想要用非英語寫文本,那麼你需要有一個支持Unicode的編輯器。
類似地,Python允許你處理Unicode文本——你只需要在字元串前加上前綴u或U。
舉例:
u"This is a Unicode string."
④ python中 r'', b'', u'', f'' 的含義
1、字元串前+u,如u"我是張三":
前綴u表示該字元串是unicode編碼,在Python2中常被用在中文字元的字元串前,防止因為編碼問題所導致的亂碼,一般在文件開頭標明編碼方式採用utf8。在Python3中,所有的字元串默認都是unicode字元串。
2、旦者字元串前+r,如r" ":
表示一個正常的字元串,通常 被用作換行,而+r後,即表示 ,說白了就是去掉反斜杠的轉義機制,在普通字元串中,反斜線是轉義符,褲者代表一些特殊的內容,常用胡遲薯於特殊的字元,如換行符、正則表達式、文件路徑。注意不能在原始字元串結尾輸入反斜線,否則Python不知道這是一個字元還是換行符(字元串最後用表示換行),會報錯。
3、字元串前+b,如abc=b'Zhangsan':
b' ':表示這是一個bytes對象,用在Python3中,它默認的str是unicode類,Python2的str本身就是bytes類。
b" ":表示後面字元串是bytes類型。
前綴b表示該字元串是bytes類型,常用在網路編程,伺服器和瀏覽器只認bytes類型的數據,如send函數的參數和recv的函數的返回值都是bytes類型。
4、字元串前+f:
Python3.6的新加特性,前綴f用來格式化字元串,可以看出f前綴可以更方便地格式化字元串,比format()方法的可讀性更高,且使用較方便,在加上f前綴後,支持在大括弧內,運行Python表達式,也可以用fr前綴用來表示原生字元串。