所有标准序列的操作(索引、切片、乘法、成员资格检查、长度,最大最小值)都适用于字符串,但是,字符串是不可变的,因此不能对字符串的所有的元素进行元素辅助和切片赋值
设置字符串格式
主要的解决方案是使用字符串格式设置运算符-----百分号;设置的格式可以使用单个值、元组、字典;其中元组最常见
%s:转换说明符;指出要将值插入在什么地方
s:字符串;如果指定的值不是字符串,则会使用str进行转换
.3f:包含三位小数的浮点数
另一种:模板字符串,相当于自定义参数名称
或者直接替换字段没有名称或者将索引用作名称(注:索引无需像上面这样按照顺序排列)
用参数名字的形式同理
如果变量与替换字段相同,还可以在字符串面前加上f
字符串方法
center:通过在两边添加填充字符让字符串居中
find:在字符串中查找子串,找到就返回子串第一个字符的索引,未找到返回-1
注意:find返回的不是布尔类型,所以,如果find返回0,那么就说明在索引0处找到了指定的子串
此外,find可以指定搜索的起点和终点(包含起点,不包含终点)
s.find("!!!",0,16)
join:合并序列的元素,与split相反;所合并的序列元素必须是string
lower: 返回字符串的小写版本
应用:用户输入用户名,因为大小写的缘故查找不到,所以查找前将用户名都转化为小写的,然后再匹配看是否存在
title:将字符串转换为词首大写,但是它确定单词边界的方式可能导致结果不合理
capwords:string中的函数,也具有相同功能
replace:将指定子串都替换成另一个字符串,并返回替换后的结果
split: 将字符串拆为序列;如果没有指定分隔符,默认在单个或者多个连续的空白字符处进行拆分
strip:将字符串开头和末尾的空白删除,但是中间的空白不删除,并返回删除后的结果
translate:与replace类似,替换字符串特定的部分,但是它只能进行单字符替换;优势在于能够同时替换好多个单字符,所以效率高于replace
在使用translate之前必须创建一个转换表maketrans方法,第一个参数是原要修改的字符拼接的字符串,第二个参数是要改成的字符的拼接字符串,第三个参数要将哪些字母删除