前言
你是否在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'这是一句话')
无情的广告时间
哈哈哈哈,又到了大家喜欢的广告时间了,喜欢的话给个关注呗,公众号:编码魔坊
,谢谢您的关注!!!