赞
踩
Python字符串前可以加以下前缀:
f
前缀:表示该字符串是一个格式化字符串(formatted string)。格式化字符串可以包含占位符(placeholder),并在字符串中用大括号 {}
包围。当字符串被执行时,占位符将被替换为相应的值。
例如:
name = 'Alice'
age = 25
formatted_string = f'Hello, {name}! You are {age} years old.'
print(formatted_string) # 输出: Hello, Alice! You are 25 years old.
在上述示例中,f'Hello, {name}! You are {age} years old.'
是一个格式化字符串。当该字符串被执行时,{name}
被替换为变量 name
的值(Alice),{age}
被替换为变量 age
的值(25)。
r
前缀:表示该字符串是一个原始字符串(raw string)。原始字符串不会对反斜杠(\)进行转义,即不会将其解释为特殊字符。这使得原始字符串可以包含反斜杠字符而不必使用双反斜杠(\)进行转义。
例如:
s = r'This is a raw string \n.'
print(s) # 输出: This is a raw string \n.
在上述示例中,r'This is a raw string \n.'
是一个原始字符串。由于使用了 r
前缀,反斜杠字符不会被解释为转义序列的开始,因此字符串中包含了一个实际的反斜杠字符。如果去掉 r
前缀,则反斜杠将被解释为转义序列的开始,导致输出结果为 This is a raw string \n\x00.
。
b
前缀:将字符串转换为字节串(bytes)。
s = b'This is a bytes string'
print(s) # 输出: b'This is a bytes string'
输出结果为一个字节串(bytes),其中包含原始的、未经处理的字节。
u
前缀:将字符串标记为Unicode(在Python 2中)。在Python 3中,所有字符串都是Unicode字符串,无需使用此前缀。
s = u'This is a Unicode string'
print(s) # 输出: 'This is a Unicode string'
输出结果为一个Unicode字符串,其中包含原始的、未经处理的Unicode字符。在Python 3中,所有字符串都是Unicode字符串,因此此前缀在Python 3中没有实际意义。在Python 2中,此前缀用于将字符串标记为Unicode。
ur
前缀:原始Unicode字符串(在Python 2中)。
s = ur'This is a raw Unicode string \n'
print(s) # 输出: 'This is a raw Unicode string \n'
输出结果为一个原始Unicode字符串,其中包含原始的、未经处理的Unicode字符和转义序列。
br
前缀:原始字节串,包含原始的、未经处理的字节。
s = br'This is a raw bytes string \x00'
print(s) # 输出: b'This is a raw bytes string \x00'
输出结果为一个原始字节串(bytes),其中包含原始的、未经处理的字节和转义序列。
rb
前缀:原始字节串,包含原始的、未经处理的字节,但不会进行转义。
s = rb'This is a raw bytes string \x00'
print(s) # 输出: b'This is a raw bytes string \x00'
输出结果为一个原始字节串(bytes),其中包含原始的、未经处理的字节,但不会进行转义。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。