开发手册 欢迎您!
软件开发者资料库

Python 字符串前r、b、u和f的前缀作用及用法

Python 中字符串前可以添加r、b、u和f前缀,对字符串具有特殊意义,方便对字符串进行处理。本文主要介绍 Python 字符串前r、b、u和f的前缀作用及用法。

1、字符串前r

表示非转义的原始字符串,Python中反斜杠加上对应字母,表示对应的特殊含义的,比如,”\n”表示换行,”\t”表示Tab等。而以r开头,则后面的字符,即是普通的字符,如\n就直接输出\n,不代表换行,实际输出原始字符串。一般常用于正则表达式,也就是re模块。

例如,

import repath1 = r"F:\wonhero\url.txt"path2 = "F:\\wonhero\\url.txt"newLine1 = r"wonhero\r\nurl"newLine2 = "wonhero\r\nurl"print("path1={0},path2={1},newLine1={2},newLine2={3}".format(path1,path2,newLine1,newLine2))regStr = r"\d+"m = re.search(regStr,"wonhero123456Python")print(m)

2、字符串前b

表示bytes,Python3.x里默认的str是Python2.x中的unicode, Python2.x里默认的的strbytes, b”“前缀代表的就是bytes

Python2.x里, b前缀无具体意义,仅是兼容Python3.x的这种写法。

例如,

import repath1 = br"F:\wonhero\url.txt"print("path1={0},type={1}".format(path1,type(path1)))

3、字符串前u

表示unicode字符串,对于任何的字符串,代表是对字符串进行unicode编码。英文通常在各种编码下能正常解析,但中文必须表明所需编码,否则就会出现乱码的情况,Python2中需要字符串前加u指定,Python3中默认字符串就是unicode编码。

例如,

import re
path1 = u"F:\\wonhero\\url.txt"
print("path1={0},type={1}".format(path1,type(path1)))

4、字符串前f

表示格式化操作,相比于format()更方便使用,需要注意的是f是Python3.6及之后才可以使用,之前版本是不支持的。

例如,

import timet0 = time.time()time.sleep(1)url = 'https://www.wonhero.com'print(f'{url} = {time.time() - t0:.2f} s')