python中 r'', b'', u'', f'' 的含义

作者&投稿:可中 (若有异议请与网页底部的电邮联系)

1、字符串前+u,如u"我是张三":

前缀u表示该字符串是unicode编码,在Python2中常被用在中文字符的字符串前,防止因为编码问题所导致的乱码,一般在文件开头标明编码方式采用utf8。在Python3中,所有的字符串默认都是unicode字符串。

2、字符串前+r,如r"




":

表示一个正常的字符串,通常
被用作换行,而+r后,即表示




,说白了就是去掉反斜杠的转义机制,在普通字符串中,反斜线是转义符,代表一些特殊的内容,常用于特殊的字符,如换行符、正则表达式、文件路径。注意不能在原始字符串结尾输入反斜线,否则Python不知道这是一个字符还是换行符(字符串最后用\表示换行),会报错。

3、字符串前+b,如abc=b'Zhangsan':

b' ':表示这是一个bytes对象,用在Python3中,它默认的str是unicode类,Python2的str本身就是bytes类。

b" ":表示后面字符串是bytes类型。

前缀b表示该字符串是bytes类型,常用在网络编程,服务器和浏览器只认bytes类型的数据,如send函数的参数和recv的函数的返回值都是bytes类型。

4、字符串前+f:

Python3.6的新加特性,前缀f用来格式化字符串,可以看出f前缀可以更方便地格式化字符串,比format()方法的可读性更高,且使用较方便,在加上f前缀后,支持在大括号内,运行Python表达式,也可以用fr前缀用来表示原生字符串。



字符串前加 r
r"" 的作用是去除转义字符.

字符串前加 f
f 的作用是表示在字符串内支持大括号内的python 表达式

字符串前加 b
b的作用是表示这是一个 bytes 对象,后面字符串是bytes 类型。

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



~