我们在使用Python时,经常看到字符串前缀带有r、b、u、f等符号,本文将带您了解这些字符前缀之间的区别。
r:原始字符串
r'',表示的是原始字符串。相对于普通字符串,原始字符串中的内容会原样输出。即使字符串中含有转义字符,如常见的换行符“\n”、缩进符“\t”等,在原始字符串中它们不会进行转义,都会原样输出。
例如:
print(r'my name is:\n Metahuber!')
输出结果:
my name is:\n Metahuber!
b:bytes字节符
b'',表示的是bytes类型的字符。Python官方文档中是这么描述的:
Firstly, the syntax for bytes literals is largely the same as that for string literals, except that a b prefix is added:
Single quotes: b'still allows embedded "double" quotes'
Double quotes: b"still allows embedded 'single' quotes".
Triple quoted: b'''3 single quotes''', b"""3 double quotes"""
也就是说,它跟普通的字符没有什么区别,唯一不同的是它的数据类型是“bytes”型。这一点我们可以使用type函数打印出来:
type(b'')
输出结果:
<class 'bytes'>
u:unicode字符串
u''代表的是对字符串进行unicode编码。
Python3.0以上的版本,默认的编码就是UTF-8编码,所以不会出现什么问题。
而在2.0版本,Python使用的是gbk编码,在定义中文内容的变量时,就需要将其转换成UTF-8编码格式,否则输出的结果可能是乱码。
f:格式化操作
f''表示的是格式化字符串。
使用f前缀的字符串,可以使用花括号括起来变量或者表达式。例如:
int_value=30
f_str=f'我今年{int_value}岁!'
print(f_str)
输出结果:
我今年30岁!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中 r”, b”, u”, f” 有什么区别? - Python技术站