python r, b, u, f 前缀详解

1、r前缀

一般来说,'\n’是一个换行符,是一个字符串;而加上r为前缀后,不会以任何特殊方式处理反斜杠。因此,r"\n" 是包含 ‘\’ 和 ‘n’ 的双字符字符串;示例如下:

>>> print(r'\n')
\n
>>> print('\n')


>>>

"r"也常用于正则表达式中,\b在正则中代表空字符串

>>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
>>> re.findall('\bf[a-z]*', 'which foot or hand fell fastest')
[]
>>>

以"r"为前缀的字符串,表示的是原始字符串。相对于普通字符串,原始字符串中的内容会原样输出。即使字符串中含有转义字符,如常见的换行符“\n”、缩进符“\t”等,在原始字符串中它们不会进行转义,都会原样输出。

详见正则链接

2、b前缀

加上b前缀代表是byte类型,示例如下:

>>> type('sss')
<class 'str'>
>>> type(b'sss')
<class 'bytes'>
>>>

其中有三种情况,如下所示:

  • Single quotes: b’still allows embedded “double” quotes’ 即单引号可以包含双引号
  • Double quotes: b"still allows embedded ‘single’ quotes" 即双引号可以包含单引号
  • Triple quoted: b’‘‘3 single quotes’’', b"““3 double quotes””" 即三引号可以包含单引号,也可以包含双引号

详见byte链接

3、u 前缀

u’'代表的是对字符串进行unicode编码。python3.0以上的版本,默认的编码就是UTF-8编码,而在2.0版本,python使用的是ascii编码

4、f 前缀

>>> var1='hello world'
>>> print(f'i am lichf {var1}')
i am lichf hello world
>>>

详见我的另一篇介绍format的文章

详见f-string链接

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值