Python - r'', b'', u'', f'' 的含義


字符串前加 f(重點!敲黑板!)

作用:相當於 format() 函數

name = "帥哥"
age = 12
print(f"my name is {name},age is {age}")

執行結果

my name is 帥哥,age is 12

 

字符串前加 r

r""  的作用是:去除轉義字符

場景:想復制某個文件夾的目錄,假設是 F:\Python_Easy\n4\test.py 

當你不用 r"" ,你有三種寫法

print("F:\Python_Easy\n4\test.py ")
print("F:\\Python_Easy\\n4\\test.py ")
print("F:/Python_Easy/n4/test.py ")

而通常如果直接復制目錄路徑的話,你就粘貼出來的字符串就是第一行代碼所示,所有 \ 會當成轉義符;而為了消除轉義作用,需要手動再加一個 \ ,否則你也得手動改成第三行代碼一樣

執行結果

F:\Python_Easy
4    est.py 
F:\Python_Easy\n4\test.py 
F:/Python_Easy/n4/test.py 

而 r"" 的出現就是為了避免這種情況,如下:

print(r"F:\Python_Easy\n4\test.py ")

執行結果

F:\Python_Easy\n4\test.py 

 

字符串前加 b

b" "的作用是:后面字符串是bytes 類型

話不多說,直接上代碼

print("中文".encode(encoding="utf-8"))
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode())
print(r'\xe4\xb8\xad\xe6\x96\x87')

執行結果

b'\xe4\xb8\xad\xe6\x96\x87'
中文
\xe4\xb8\xad\xe6\x96\x87

可以看到,當你不加 b"" 時,他也就是個普通的字符串而已,不會識別為字節類型

bytes應用場景:像圖片、音視頻等文件的讀寫就是用bytes數據

 

順便可以看看字符串和bytes之間的轉換是怎么樣的:https://www.cnblogs.com/poloyy/p/12341746.html

 

字符串前加 u

作用:后面字符串以 Unicode 格式 進行編碼

實際場景:一般用在中文字符串前面,防止因為源碼儲存格式問題,導致再次使用時出現亂碼。

建議所有編碼方式采用utf8

 


免責聲明!

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



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