字符串前加 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