1、字符串前加 u
例子:
u"字符串中有中文"
含義:
前綴u表示該字符串是unicode編碼,Python2中用,用在含有中文字符的字符串前,防止因為編碼問題,導致中文出現亂碼。另外一般要在文件開關標明編碼方式采用utf8。
Python3中,所有字符串默認都是unicode字符串。
2、字符串前加 r
例子:
r"\n\t"
含義:
在普通字符串中,反斜線是轉義符,代表一些特殊的內容,如換行符\n。
前綴r表示該字符串是原始字符串,即\不是轉義符,只是單純的一個符號。
常用於特殊的字符如換行符、正則表達式、文件路徑。
注意不能在原始字符串結尾輸入反斜線,否則Python不知道這是一個字符還是換行符(字符串最后用\表示換行),會報錯:
SyntaxError: EOL while scanning string literal
那如果是一個文件夾路徑就是以\結尾怎么辦呢,可以再接一個轉義\的字符串:
>>>print r'C:\Program File\my\path''\\' C:\Program File\my\path\
3、字符串前加 b
例子:
b'<h1>Hello World!</h1>'
含義:
前綴b表示該字符串是bytes類型。
用在Python3中,Python3里默認的str是unicode類。Python2的str本身就是bytes類,所以可不用。
常用在如網絡編程中,服務器和瀏覽器只認bytes類型數據。如:send 函數的參數和 recv 函數的返回值都是 bytes 類型。
在 Python3 中,bytes 和 str 的互相轉換方式是
str.encode('utf-8') bytes.decode('utf-8')
4、字符串前加 f
例子:
>>> account = '測試工程師小站' >>> month = '30' >>> f'我的微信公眾號是:{account},已經連續發文{int(month) * 5}天啦!' '我的微信公眾號是:測試工程師小站,已經連續發文150天啦!'
含義:
Python3.6新加特性,前綴f用來格式化字符串。可以看出f前綴可以更方便的格式化字符串,比format()方法可讀性高且使用方便。
而且加上f前綴后,支持在大括號內,運行Python表達式。
你還可以用fr前綴來表示原生字符串。
--------------------------------------------------------------------------------
關注微信公眾號(測試工程師小站)即可在手機上查閱,並可接收更多測試分享,發送【測試資料】更可獲取百G測試教程~