Python字符串前缀r和u的使用分别是什么意思
Admin 2022-06-20 群英技术资讯 803 次浏览
这篇文章主要讲解了“Python字符串前缀r和u的使用分别是什么意思”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。r意为raw,表示不包含转义字符的原生字符串。常见的转义字符包括下列几种:
| 转义字符 | 描述 |
|---|---|
| \(在行尾时) | 续航符 |
| \\ | 反斜杠符号 |
| ' | 单引号(字符串需要为""形式) |
| " | 双引号(需要字符串用需要为''形式) |
| \b | 退格(Backspace) |
| \000 | 空 |
| \n | 换行 |
| \v | 纵向制表符 |
| \t | 横向制表符 |
下面是几个转义字符的演示:
print("Hello\
,world")
# Hello,world
print("Hello\\,world")
# Hello\,world
print("Hello',world")
# Hello',world
print('Hello",world')
# Hello",world
print("Hello\b,world")
# Hell,world
print("Hello\000,world")
#Hello,world
print("Hello\n,world")
# Hello
# ,world
print("Hello\v,world")
# Hello
# ,world
print("Hello\t,world")
# Hello ,world
print("Hello\020,world")
r前缀的作用就是告诉解释器,我这个字符串不包含转义字符,比如字符串中如果包含'\n',则不将其视为换行符,而视为一个'\'字符和'n'字符来处理。如下面所示:
print("Hello,\nworld")
# Hello,
# world
print("Hello,\nworld")
# Hello,\nworld
r前缀最常见的用途是正则表达式,因为正则匹配的模式经常包含各种反斜杠等字符,我们不希望它被解析为转移字符,因此需要加上'r'。
如
import re str_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'<h1>Hello World!</h1>' # b' ' 表示这是一个 bytes 对象
作用:
b" "前缀表示:后面字符串是bytes 类型。
用处:
网络编程中,服务器和浏览器只认bytes 类型数据。
如:send 函数的参数和 recv 函数的返回值都是 bytes 类型
附:
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')
bytes.decode('utf-8')
字符串前加f
import time t0 = 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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python调用Shell,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容,下面这篇文章主要给大家介绍了关于Python面试之os.system()和os.popen()区别的相关资料,需要的朋友可以参考下
这篇文章主要介绍了python numpy库,numpy是一个开源的python科学计算扩展库,主要用来处理任意维度数组和矩阵。相同的任务,使用numpy比直接用python的基本数据结构更加简单高效,下面一起进入文章了解更多详细内容吧
这篇文章主要为大家介绍了PyTorch搭建LSTM实现时间序列负荷预测,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
最近手头有公司的数据资源,正好拿来练习了matplotlib的画图,期间碰到一个坑,就是中文在图表中显示的是方框,下面这篇文章主要给大家介绍了关于Matplotlib中文乱码的两种详细解决方案,需要的朋友可以参考下
Python中倒排列是倒序排列的意思。Python中倒序排列的方法有多少种
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008