Python中f、r、u、b字符串前缀有何区别?如何使用转义字符?

2026-05-24 18:011阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计954个文字,预计阅读时间需要4分钟。

Python中f、r、u、b字符串前缀有何区别?如何使用转义字符?

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_Easy
4 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""时,他也就是个普通的字符串而已,不会识别为字节类型。

Python中f、r、u、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分钟。

Python中f、r、u、b字符串前缀有何区别?如何使用转义字符?

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_Easy
4 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""时,他也就是个普通的字符串而已,不会识别为字节类型。

Python中f、r、u、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

其它的字符以普通格式输出

去期待陌生,去拥抱惊喜。