在进行字符串拼接操作的时候,尽量使用join方法,而非+;因为join方法是先计算出所有字符中的长度,然后再拷贝,只new一次对象
一、字符串的常用操作
1、查询
index() 查找子串substr第一次出现的位置,如果查找的子串不存在,则抛出ValueError
rindex() 查找子串substr最后一次出现的位置,如果查找的子串不存在,则抛出ValueError
find() 查找子串substr第一次出现的位置,如果查找的子串不存在,则返回-1
rfind() 查找子串substr最后一次出现的位置,如果查找的子串不存在,则返回-1
ps :建议使用find rfind,因为不会抛异常
2、字符串的大小写转换操作
upper():把字符串中所有字符都转换成大写字母
(可以看到没有转,这就代表这个操作产生了一个新的字符串)
lower():把字符串中所有字符都转换成小写字母
swapcase():把字符串中所有大写字母转换为小写,将所有小写字母转换为大写
capitalize():把第一个字符转换为大写,把其余字符转换为小写
title():把每个单词的第一个字符转换为大写,把每个单词剩余的字符转换为小写
3、字符串内容对齐操作
center():居中对齐,第一个参数 指定宽度,第二个参数指定填充符,若设置宽度小于实际宽度,则返回原字符串
默认是加空格实现对齐
ljust(): 左对齐,第一个参数 指定宽度,第二个参数指定填充符,若设置宽度小于实际宽度,则返回原字符串
rjust() : 右对齐 第一个参数 指定宽度,第二个参数指定填充符,若设置宽度小于实际宽度,则返回原字符串
zfill() : 右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串宽度
4、字符串的劈分操作
split() 从字符串的左边劈分,默认的劈分符是空格字符串,返回的值是一个列表
可以通过参数指定劈分符
可以通过参数指定最大劈分次数
rsplit()
从字符串的右边劈分,默认的劈分符是空格字符串,返回的值是一个列表
可以通过参数指定劈分符
可以通过参数指定最大劈分次数
其实这两个函数也就是指定最大劈分次数这个功能的时候,会有不一样
5、判断字符串操作的方法
isidentifier() : 判断指定的字符串是不是合法标识符
isspace(): 判断指定的字符串是否全由空白字符组成(回车、换行、水平制表符)
isalpha():判断指定的字符串是否全由字母组成
。。。这个函数认为汉字也是字母
isdecimal():判断指定字符串是否全由十进制的数字组成
isnumeric():判断指定的字符串是否全由数字组成
我真的震惊!!这个函数可以识别汉字写的数字!!!(罗马数字也可以识别,我不会打罗马数字哈哈)
isalnum():判断指定字符串是否全由字母和数字组成
6、字符串的替换与合并
replace() : 第一个参数指定被替换的字符串,第二个参数指定替换子串的字符串该方法返回替换后得到的字符串;替换前的字符串不发生变化,调用该方法可以通过第三个参数指定最大替换次数
可以看到,如果指定第一个参数是一个不存在的字符串,也不会操作,就输出原本的字符串
join():将列表或元组中的字符串合并成一个新的字符串
假如传一个字符串呢
会将整个一个字符串当成序列
7、其他操作
ord():获取字符的原始值(其实也可以理解为ASCII码)
相对应的使用chr()可以获取原始值对应的字符
8、字符串的切片操作
字符串是不可变类型,不具备增删改查操作;切片操作 将产生新的对象
用+连接字符串
9、格式化字符串
用%占位:
前面的%格式和后面的参数个数是对应的 否则就会报错,如下:
用法和c差不多
用{}占位
这样可以在字符串里输很多个参数,注意圈起来的.哦~