Python入门教程29:字符串前加r、u、b、f是什么意思?

★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧,喜欢的老铁可以多多帮忙点赞,小红牛在此表示感谢。★★★★★

关键字参数字符串前加上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.

你可能感兴趣的:(我的Python教程,Python教程,python)