python3前面加b_Python 字符串前面为什么有时候会加u,r,b,f ?

对于很多初学Python的小伙伴,在看到很多字符串前面加了u,r,b,f,有没有感觉很奇怪?笔者之前也只是经常用r,这样在路径上就很方便,但是其他几个用的较少,下面具体介绍一下加各个字母的作用:

1、字符串前加 u

例:u"我是含有中文字符组成的字符串。"

作用:

后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。

2、字符串前加 r

例:r"\n\n\n\n”  # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。

作用:去掉反斜杠的转移机制,可防止字符串转义。

(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。)

str1 = "D:\myfile\one\two"

str2 = r"D:\myfile\one\two"

print(str1)

print(str2)

结果:

D:\myfile\onewo

D:\myfile\one\two

这里可以看出\t在str1中输出为Tab,如果把字符串当做路径引用时就会出错,可以采用str2的方法。

3、字符串前加 b

例: response = b’Hello World!’ b’ ’ 表示这是一个 bytes 对象

作用:b" "前缀表示:后面字符串是bytes 类型。

用处:网络编程中,服务器和浏览器只认bytes 类型数据。

如:send 函数的参数和 recv 函数的返回值都是 bytes 类型

附:在 Python3 中,bytes 和 str 的互相转换方式是

str.encode(‘utf-8')

bytes.decode(‘utf-8')

4、字符串前加 f

(目前支持python3.6版本)

以 f开头表示在字符串内支持大括号内的python 表达式

x = 4

y = 10

s1 = f"{x} ->{y}" #这里前面加f,后面字符串中大括号内是变量(标识符),否则如s2所示

s2 = "{x} ->{y}"

print("s1:",s1)

print("s2:",s2)

结果:

s1: 4 ->10

s2: {x} ->{y}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值