Python中f、r、u、b字符串前缀有何区别?如何使用转义字符?
- 内容介绍
- 文章标签
- 相关推荐
本文共计954个文字,预计阅读时间需要4分钟。
1. 字符串前加u:将字符串以Unicode格式进行编码(表示中文字符),通常用于中文字符串前,防止因源代码存储格式问题,导致再次使用时出现乱码。
1.字符串前加 u:后面字符串以 unicode 格式进行编码(表示中文),一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
使用场景:一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2.字符串前加 r:在字符串前加r可防止字符串转义
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_Easy4 est.py
F:\Python_Easy\n4\test.py
F:/Python_Easy/n4/test.py
而通常如果直接复制目录路径的话,你就粘贴出来的字符串就是第一行代码所示,所有\会当成转义符;而为了消除转义作用,需要手动再加一个\,否则你也得手动改成何第三行代码一样。
而r""的出现就是为了避免这种情况。
②如果字符串是从文件中读取,则在读取时加r
例如:有文件 test.txt中有 adfdfasd\tfdsadf\t E:\codes则代码可以这么写:
file1=open(r"text.txt","r")
for line in file1:
print(line)
结果为:
adfdfasd\tfdsadf\t E:\codes
3.字符串前加 b:b" "前缀表示:后面字符串是bytes类型。
网络编程中,服务器和浏览器只认bytes 类型数据。
在 Python3 中,bytes 和 str 的互相转换方式:
str--->bytes:bytes--->str:
举例:
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数据。
4.字符串前加 f:以f开头表示在字符串内支持大括号内的python 表达式
作用:相当于format函数。
例如:
name = "帅哥"age = 12
print(f"my name is {name},age is {age}")
运行结果:
my name is 帅哥,age is 12转义字符
描述
\(在行尾时)
续行符
\\
反斜杠符号
\'
单引号
\"
双引号
\a
响铃
\b
退格(Backspace)
\e
转义
\000
空
\n
换行
\v
纵向制表符
\t
横向制表符
\r
回车
\f
换页
\oyy
八进制数yy代表的字符,例如:\o12代表换行
\xyy
十进制数yy代表的字符,例如:\x0a代表换行
\other
其它的字符以普通格式输出
去期待陌生,去拥抱惊喜。
本文共计954个文字,预计阅读时间需要4分钟。
1. 字符串前加u:将字符串以Unicode格式进行编码(表示中文字符),通常用于中文字符串前,防止因源代码存储格式问题,导致再次使用时出现乱码。
1.字符串前加 u:后面字符串以 unicode 格式进行编码(表示中文),一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
使用场景:一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2.字符串前加 r:在字符串前加r可防止字符串转义
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_Easy4 est.py
F:\Python_Easy\n4\test.py
F:/Python_Easy/n4/test.py
而通常如果直接复制目录路径的话,你就粘贴出来的字符串就是第一行代码所示,所有\会当成转义符;而为了消除转义作用,需要手动再加一个\,否则你也得手动改成何第三行代码一样。
而r""的出现就是为了避免这种情况。
②如果字符串是从文件中读取,则在读取时加r
例如:有文件 test.txt中有 adfdfasd\tfdsadf\t E:\codes则代码可以这么写:
file1=open(r"text.txt","r")
for line in file1:
print(line)
结果为:
adfdfasd\tfdsadf\t E:\codes
3.字符串前加 b:b" "前缀表示:后面字符串是bytes类型。
网络编程中,服务器和浏览器只认bytes 类型数据。
在 Python3 中,bytes 和 str 的互相转换方式:
str--->bytes:bytes--->str:
举例:
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数据。
4.字符串前加 f:以f开头表示在字符串内支持大括号内的python 表达式
作用:相当于format函数。
例如:
name = "帅哥"age = 12
print(f"my name is {name},age is {age}")
运行结果:
my name is 帅哥,age is 12转义字符
描述
\(在行尾时)
续行符
\\
反斜杠符号
\'
单引号
\"
双引号
\a
响铃
\b
退格(Backspace)
\e
转义
\000
空
\n
换行
\v
纵向制表符
\t
横向制表符
\r
回车
\f
换页
\oyy
八进制数yy代表的字符,例如:\o12代表换行
\xyy
十进制数yy代表的字符,例如:\x0a代表换行
\other
其它的字符以普通格式输出
去期待陌生,去拥抱惊喜。

