一、环境
- python版本:3.10
- 操作系统:windows 10 x64
- 集成环境:Visual Studio Code (VSC)
二、字符串模式
- f模式
- r模式
- u模式
- b模式
1、r模式
r模式,又称原始字符串模式,意思是将字符串内的转义符`\`视作普通符号。对于Python等大多数编程语言来说,字符串中的反斜杠`\`具有非常特殊的含义。如果你不做特殊的说明,`\`会被程序视做一种标记,程序会对标记后面紧挨着的字符进行特殊的编译。
比如:
- >>> para = 'a\nb'
- >>> print(para) # 你会发现它输出的并非`a\nb`
- a
- b
`\`被视作了标记,python识别到了这个标记并将后面的n编译成了换行符。这个时候如果想要表示`\`本身的话,就需要进行一个特殊的说明。r模式是实现这种说明的方法之一:
- >>> para = r'a\nb' # 字符串前加上r表示进入r模式
- >>> print(para)
- a\nb
- >>>
2、f模式
f模式,又称格式化字符串。这个模式下可以把变量以{variable}的形式埋到字符串中。
- >>> num = 3
- >>> a = f'I like number {num}' # 把变量num以{num}的封装形式埋到字符串里
- >>> print(a)
- I like number 3 # 此时的a就等效于 a = 'I like number 3'
- >>>
当然,这个例子有点无聊。r模式的优势是让字符串变得能像变量一样动起来,领会下面这个Demo:
- >>> for num in range(3,7):
- ... print(f'I like number {str(num)*num}') # {}里面进行了一次变量的运算:str(num) * num,表示将num重复num次
- ...
- I like number 333
- I like number 4444
- I like number 55555
- I like number 666666
- >>>
3、u模式
u模式来将字符串的类型显性的标记为utf字符,防止出现系统字符集不同造成的乱码问题。
4、b模式
b模式,将字符串的类型显性的标记为字节串。最常见的运用是用来表示字符编码。计算机是以字符编码的形式存储字符的。以现行主流的Unicode字符集下面的utf8编码规则为例,例如学的16进制编码是E5ADA6,那么E5ADA6便是`学`的字符编码:
- >>> num = b'\xE5\xAD\xA6' # 这里的b''就是显性的告诉python解释器,后面存储的是字节串(更本质的叫法是byte对象)
- >>>
- >>> print(num.decode('utf8')) # 根据上文的表述,我们已知晓这个字节串,在utf字符集编码里,有一个对应的汉字。此时就可以调用decode方法,进行编码<->文字转换
- 学
- >>>
- python 对于16进制的表达方式是\x--,所以在python中表达编码E5ADA6需要写成\xE5\xAD\xA6的形式。



雷达卡







京公网安备 11010802022788号







