网站定制/百度网络营销中心
★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧,喜欢的老铁可以多多帮忙点赞,小红牛在此表示感谢。★★★★★
关键字参数字符串前加上r、u、b和f,分别表示不同的字符串类型,具有不同的用途和行为。
#我的Python教程
#官方微信公众号:wdPython
r:原始字符串(Raw String)
原始字符串在字符串前面加上r,表示该字符串是一个原始字符串,即字符串中的所有反斜杠(\)都被视为普通字符,而不是转义字符。所以下方\n不是表示换行的意思。这在处理需要包含反斜杠的字符串时非常有用,例如文件路径、正则表达式等。
s1 = r'This is a raw string \n'
print(s1) # 输出:This is a raw string \n# 普通字符串
path = "C:\\Users\\User\\Documents\\file.txt" # 原始字符串
path_r = r"C:\Users\User\Documents\file.txt"
u:Unicode字符串(Unicode String)
Unicode字符串在字符串前面加上u,表示该字符串是一个Unicode字符串。在Python 2.x版本中,这是默认的字符串类型,用于表示包含非ASCII字符的字符串。在Python 3.x版本中,默认的字符串类型是Unicode字符串,因此不需要使用u前缀。防止因为源码储存的格式问题,导致再次使用时出现乱码。
s2 = u'This is a Unicode string \u00A9'
print(s2) # 输出:This is a Unicode string ©
b:二进制字符串(Binary String)
二进制字符串在字符串前面加上b,表示该字符串是一个二进制字符串,即字符串中的所有字符都是二进制的。二进制字符串主要用于处理二进制数据
# bytes转字符串方式1
a=b'\xe6\x88\x91\xe7\x9a\x84Python\xe6\x95\x99\xe7\xa8\x8b'
string=str(a,'utf-8')
print(string)# bytes转字符串方式2
string=a.decode() # 第一参数默认utf8,第二参数默认strict
print(string)print("-----------------------------")#字符串转bytes方式1
str='我的Python教程'
b=bytes(str, encoding='utf-8')
print(b) # \xe6\x88\x91\xe7\x9a\x84Python\xe6\x95\x99\xe7\xa8\x8b# 字符串转bytes方式2
b=str.encode('utf-8')
print(b)
f:格式化字符串(Formatted String)
格式化字符串在字符串前面加上f,表示该字符串是一个格式化字符串。格式化字符串使用大括号{}来包含占位符,并使用来指示后面的字段名。这种类型的字符串非常适合在代码中生成格式化的文本输出。
name = 'John'
age = 30
s4 = f'My name is {name} and I am {age} years old.'
print(s4) # 输出:My name is John and I am 30 years old.