字符串
- 字符串不可变,所有元素赋值和切片赋值都是非法的
字符串替代
-
字符串替代
- 可用%转换说明符,来将字符串中的%d,%s替换
- 模板字符串:tmpl = Template(“hello,$who”),tmpl.substitute(who=“Mars”
format的使用
基本转换
-
format:每个替换字段用花括号括起,其中可能包含名称"{},{}".format(“first”,“second”)
-
使用索引"{1},{0}".format(“first”,“second”),无需按顺序排列
-
通过命名字段:"{name},{value}"format(value=pi,name=“pi”)
-
标志s、r和a分别使用str、repr和ascii转换,三者分别表示普通字符串形式、python表示(字符串自勉之)和ASCII字符表示。"{name!a},{value!s}"format(value=pi,name=“pi”)
宽度、精度
- 也可以指定转换类型,{num:d}、{num:f}、{num:b}分别表示十进制、浮点型和二进制
- 也可以指定宽度{num:10},表示字符串长度为10,会自动进行对齐
- 浮点型精度,{num:.2f}代表精度为2
- 逗号可以指出千位分隔符
符号、对齐和用0填充
- 在指定宽度和精度的数前面,可添加一个标志。
- 0表示填充数字:{:010.2f}
- 左对齐、右对齐和居中,可分别使用<、>和^
- 可以使用填充字符来扩充对齐说明符"{:$^15}".format(" WIN BIG "),左右用dollar符号来填充
- 如果要给正数加上符号,可食用说明符+,默认是-
字符串方法
- cneter(n,"*"):通过在两边添加填充字符让字符串居中
- find(‘child’):在字符串中查找子串,如果找到就返回子串的第一个字符索引,否则返回-1
- sep.join(seq):合并序列的元素,sep表示不同序列直接的间隔符,返回字符串
- lower():返回字符串的小写版本,将所有大写字母转化为小写
- replace(src,dst):将子串都替换为另一个字符串
- split(‘sep’):将字符串拆分为序列
- strip():将开头和末尾的空白删除,并返回删除后的结果
- translate(table):只能进行单字符替换,但能够同时替换多个字符,效率比replace高
- 需要创建一个转换表:table = str.maketrans(‘cs’,‘kz’),指定两个长度相等的字符串,将第一个字符串每个字符都替换为第二个字符串的相应字符