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

1、字符串前r

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

例如,

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

2、字符串前b

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

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

例如,

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

3、字符串前u

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

例如,

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

4、字符串前f

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

例如,

import time
t0 = time.time()
time.sleep(1)
url = 'https://www.cjavapy.com'

print(f'{url} = {time.time() - t0:.2f} s') 

推荐文档

相关文档

大家感兴趣的内容

随机列表