Python字符串前綴u、r、b、f含義


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測試教程~


免責聲明!

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



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