Python 官方文档:入门教程 => 点击学习
这篇文章主要介绍“python字符串中的r和u的区别是什么”,在日常操作中,相信很多人在Python字符串中的r和u的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python字符串中的r和u的区别
这篇文章主要介绍“python字符串中的r和u的区别是什么”,在日常操作中,相信很多人在Python字符串中的r和u的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python字符串中的r和u的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Python中字符串前面我们经常看到加r(R)或u/(U)的前缀,而这两个符号是什么意思呢?
r意为raw,表示不包含转义字符的原生字符串。常见的转义字符包括下列几种:
转义字符 | 描述 |
---|---|
\(在行尾时) | 续航符 |
\\ | 反斜杠符号 |
' | 单引号(字符串需要为""形式) |
" | 双引号(需要字符串用需要为''形式) |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
下面是几个转义字符的演示:
print("Hello\,world")# Hello,worldprint("Hello\\,world")# Hello\,worldprint("Hello',world")# Hello',worldprint('Hello",world')# Hello",worldprint("Hello\b,world")# Hell,worldprint("Hello\000,world")#Hello,worldprint("Hello\n,world")# Hello# ,worldprint("Hello\v,world")# Hello# ,worldprint("Hello\t,world")# Hello ,worldprint("Hello\020,world")
r前缀的作用就是告诉解释器,我这个字符串不包含转义字符,比如字符串中如果包含'\n',则不将其视为换行符,而视为一个'\'字符和'n'字符来处理。如下面所示:
print("Hello,\nworld")# Hello,# worldprint("Hello,\nworld")# Hello,\nworld
r前缀最常见的用途是正则表达式,因为正则匹配的模式经常包含各种反斜杠等字符,我们不希望它被解析为转移字符,因此需要加上'r'。
如
import restr_pat= re.compile(r'\d+/\d+/\d+')text = 'Today is 12/10/2021, yesterday is 12/11/2021'res = str_pat.findall(text)print(res)['12/10/2021', '12/11/2021']
u(U)前缀表示字符串的编码方式为unicode。不仅包含中文在内的任意字符串都可以采用unicode编码。一般英文字符串在任何编码的情况下都能正常解析,所以一般不用显式添加u。然而中文最好要说明其编码,否则编码转换时就会出现乱码(比如本来用gbk编码但拿unicode来解码)。解决编码问题一劳永逸的方法是在.py的文件头添加如下内容:
# coding: utf-8
字符串前加b
例: response = b'<h2>Hello World!</h2>' # b' ' 表示这是一个 bytes 对象
作用:
b" "前缀表示:后面字符串是bytes 类型。
用处:
如:send 函数的参数和 recv 函数的返回值都是 bytes 类型
附:
在 python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')bytes.decode('utf-8')
字符串前加f
import timet0 = time.time()time.sleep(1)name = 'processing'
# 以 f开头表示在字符串内支持大括号内的python 表达式print(f'{name} done in {time.time() - t0:.2f} s')
输出:
processing done in 1.00 s
到此,关于“Python字符串中的r和u的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
--结束END--
本文标题: Python字符串中的r和u的区别是什么
本文链接: https://www.lsjlt.com/news/306345.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0