python3-str补充

发布时间 2023-04-17 09:45:11作者: 挖洞404

1、转义与反转义

转义字符的机制是为了表示某些无法编辑输入或者与python编程语言冲突的字符而存在。其特征是前缀字符\。

有时候,不想使用转义机制,可以在字符串前面使用r前缀,字符串将按照本身的字符输出。

a = 'abc\"'  # 输出:abc"
b = r'abc\"'  # 输出:abc\"
转义字符 描述
(在行尾时) 续行符
\ 反斜杠符号
单引号
双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

2、unicode

unicode字符,实际是一种特殊的转义字符,由\uxxxx进行转义引起。也遵循加r不转义

print('\u0051ab')  # Qab
print(r'\u0051ab')  # \u0051ab

3、索引与运算

将字符串视作由多个字符组成的list,具有和list类似的操作。

字符串支持正向和反向索引,也支持+,*,in和not in运算,但是不支持del

通过+运算符可以实现字符串之间的拼接,但是字符串不能与非字符串的类型直接拼接,必须对其它类型使用str()函数转换

4、格式化

(1)%形式

s = '%s,123'%('张三')
print(s)
  • %格式化,如果只有一个参数,参数可以不用()包围

(2)f{}形式

s2 = f'hello,{123}'
# s3 = f'{1+2=}'
print(s2)
  • 参数可以是字面量、变量或者运算式