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 这种写法