python字符串前 r b f u 的作用

我们时常会在字符串或者在函数传参时看见字符串前会突兀的出现r b u f等字符,令人困惑不已。因此在这里对这些字符进行归纳介绍。

r前缀

在字符串前加r的作用是去除所接字符串中转义字符的影响。
例如r'\n'表示一个\字符和一个字母n,而不再是表示换行了。因为r的作用就是消除转义作用,将转义字符当作普通字符来看。

str = 'test_r\n'
str1 = r'test_r\n'
print (str)
print(str1)

输出结果:
r input

b前缀

在字符串前加b,表示后面的字符串是是bytes类型。
一般用于网络编程中,因为服务器和浏览器只认bytes 类型数据。
在python3.x里默认的str是unicode类,py2.x的str是 bytes类;所以在python2中b前缀没有什么具体意义,只是为了兼容python3。
\quad

f前缀

在字符串前加f,是为了实现格式化字符串常量(formatted string literals)。
具体的作用就是,以大括号 {} 标明被替换的字段,大括号内支持python表达式;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。
这一用法是Python3.6新引入的一种字符串格式化方法,目的是使格式化字符串的操作更加简便。

#!/usr/bin/env python
# coding=utf-8

import time


if __name__ == '__main__':
    t0 = time.time()
    time.sleep(1)
    name = 'processing'
    print(f'{name} done in {time.time() - t0:.2f} s')

输出:
processing done in 1.00 s

\quad

u前缀

在字符串前加u,作用是将后面的字符串以Unicode格式进行编码,一般用在中文字符串前。
因为一般英文字符在使用各种编码下,都可以正常解析;但是中文必须表明所需编码,防止因为源码储存格式问题,导致再次使用时出现乱码。

参考

参考1
参考2

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值