r’xxx’ 的含義
**加 r 會把字符串轉變為非轉義的原始字符串。**比較常用。
例如:print('D:\\test\\test.txt')print(r'D:\\test\\test.txt')print(r'D:\test\test.txt')123
結果是:D:\test\test.txt
D:\\test\\test.txt
D:\test\test.txt123
從結果看來,加 r 的作用是把轉義字符 \ \ 變成普通字符。
用處:在讀寫Windows的地址時,可以不用雙斜杠(\\)進行轉義了,直接讀寫復制的地址就可以。
擴展
1、u’xxx’ 的含義
字符串前加 u 是對字符串進行unicode編碼
一般是在操作包含中文字符串時使用,比較少使用。可以在讀取包含中文的路徑時使用。
拓:
在把中文字符串寫入如 txt 文件時,不在其前面加 u。常用的將文本字符串用utf-8編碼方式寫入txt文件的方法如下t = '我要學Python'with open(r'test.txt', 'w+', encoding="utf-8") as f: #w+ 以讀寫模式打開文件;r 讀取模式;a 附加模式,即在文本末尾寫入,不會刪除之前文本
f.write(t)123
2、f’xxx’ 的含義
在字符串前加 f 是把字符串格式化,使可以在字符串中直接使用變量
例如:a = 'python'print(f'hello {a}')12
結果:
從結果可以看出,可以直接在字符串使用變量。除了字符串之外,數值,列表,字典類型都可以使用。在一定輸出情況非常有用。
3.b’xxx’的含義
字符串前加b是把字符串變成bytes格式,不常用。
python3 里默認的字符串格式是 unicode 格式, bytes 是 python2 的str格式。在 python3 中使用 b 前綴把字符串變成bytes格式。
而 python2 里, b 前綴沒什么具體意義, 只是為了兼容 python3 這種寫法
使用 b 前綴把字符串變成bytes格式。
而 python2 里, b 前綴沒什么具體意義, 只是為了兼容 python3 這種寫法