前言
你是否在python的字符串前看到过r、b、f、u这样的前缀。如果你是从C/C++、Java等语言转到python,可能会感觉很奇怪,或者是吃惊。还记得当初字节第一次在python中遇到这样的字符串前缀还是感到很迷离的~~~
r前缀
前缀r表示原始字符串(raw string),它不会使字符串中的转义字符生效,如\n、·\t等
例如在python中要表示文件路径,那么可以使用下列方式
# 输出文件路径:D:\codeTools\nasm
# 发生换行(因为 \n 的存在)
print('直接输出----','D:\codeTools\nasm')
# 正常输出
print('转移字符输出----','D:\\codeTools\\nasm')
print('r前缀输出----',r'D:\codeTools\nasm')

b前缀
前缀b表示字节字符串(bytes string),用于处理二进制数据,而不是文本数据。常用在处理图像、音频、网络协议等二进制数据。
带有b前缀的字符串是字节类型
str1 = b'this is python code'
str2 = 'this is python code'
# 字节类型
print(str1,':的数据类型为',type(str1))
# 字符串类型
print(str2,':的数据类型为',type(str2))

f前缀
前缀f表示格式化字符串(formatted string),它用于在字符串中嵌入表达式的值。在格式化字符串中,可以使用大括号{}来引用变量或表达式,并将其值插入字符串中。
注意:前缀f是在Python3.6及之后才可以使用
name = 'armey'
age = 18
# 不使用f前缀
print(f'我的名字是,',name,'我今年',age,'岁了。')
# 使用f前缀
print(f'我的名字是{name},我今年{age}岁了。')

u前缀
前缀u表示Unicode字符串,即对字符串进行Unicode编码。主要是针对中文。前缀u主要针对python2,因为在python3中默认使用Unicode编码。随着python2的停止更新,u前缀应该不会再见了。
print(u'这是一句话')
无情的广告时间
哈哈哈哈,又到了大家喜欢的广告时间了,喜欢的话给个关注呗,公众号:编码魔坊,谢谢您的关注!!!
999

被折叠的 条评论
为什么被折叠?



