我们都知道字符串和元组都是不可变类型,但字符串有着众多的方法,包括查、改、删、增。
查
1.count 计数功能
s = 'abdvgd245'
s.count('d')
>>>2
s.count('abd')
>>>1
2.index 查找元素,返回索引
s = 'anxg54ds'
s.index('anx')
>>>0
s.index('x')
>>>2
3. find 查找元素,返回索引,与index的区别是多了一个参数,即第二个参数是从此位置开始查找.
s = 'addgga154'
s.find('dd')
>>>1
s.find('g')
>>>3
s.find('a')
>>>0
s.find('a','1')
>>>5
4. isdigit 判断是否全部是数字组成的字符串
s = 'safa145'
s.isdigit()
>>>False
5. isalpha 判断是否全部是字母组成的字符串
s = 'daffsgv'
s.isalpha()
>>>True
6. endswith 判断是否以obj结尾
7. startswith 判断是否以obj开头
s = 'dfsjahjf'
s.endswith('f')
>>>True
s.startswith('d')
>>>True
s.startswith('f')
>>>False
8. islower 判断字符串内的字母是否都是小写字母组成
9. isupper 判断字符串内的字母是否都是大写字母组成
s = 'dfadsf4515'
s.islower()
>>>True
s.isupper()
>>>False
b = 'DSFS5451D'
b.islower()
>>>False
b.upper()
>>>True
10. isalnum 判断是否全部是字母和数字任意混合组成的字符串
11.isdecimal 判断是否全部是十进制数字组成的字符串
改
由于字符串是不可变类型,所以要想修改,只能用新的变量来承接它,不然它实质还是没变的.
1. upper 把所有小写字母改成大写
2. lower 把所有大写字母改成小写
s = 'dfAFD125'
s.upper()
>>>'DFAFD125'
s.lower()
>>>'dfafd125'
3. strip 把字符串两边空格都去掉,lstrip是去左边,rstrip是去右边.
s = ' dss dsv '
s.strip()
>>>'dss dsv'
s.lstrip()
>>>'dss dsv '
s.rstrip()
>>>' dss dsv'
4. capitalize 把字符串第一个字符改为大写
5. title 把字符串内所有单词(以空格,逗号,数字等形式分隔开的字符)的首字母改成大写
s = 'df da4jf,dg'
s.capitalize()
>>>'Df da4jf,dg'
s.title()
>>>'Df Da4Jf,Dg'
6. split 默认是以空格进行切割,可传入一个参数,以此参数进行切割,返回一个列表.
s = 'dsfdgjdb'
s.split(d)
>>>['','sf','gi','b']
7.swapcase 翻转字符串的大小写
s = 'DDdvvdS'
s.swapcase()
>>>'ddDVVds'
8.center 把字符串居中,并以空格填充长度至指定参数的大小.
s = 'dsdf'
s.center(10)
>>>' dsdf '
删
1.replace 有三个参数,第一个是被替换的obj,第二个是替换成的obj,第三个是可选参数,是最大替换数目.如果想实现删除,只需将第二个参数写成''即可.
s ='sffsdfgd'
s.replace('f','')
>>>'ssdgd'
s.resplace('f','F',2)
>>>'sFFsdfgd'
增
- 利用+号进行拼接
- 格式化字符串 如:print ("%s%s"%str1%str2)
- 使用join ' '.join([str1,str2,str3])
- 使用format ‘{}{}{}'.format(str1,str2,str3)、 ‘{0}{2}{1}'.format(str1,str2,str3)指定了选择的参数位置 、‘{n0}{n1}{n2}'.format(n0=str1,n1=str2,n2=str3)
字符串的转义
1. \n 换行符
2. \t 水平制表符,即空四个空格
3. \b 退格
4. \r 回车,当前位置移到本行开头并覆盖
5. \\ 代表反斜杠
6. \' 代表一个单引号,同样"也可以这样
7. \0 代表一个空字符
8. \a 系统提示音
在python中如果想去掉字符串的转义,只需在字符串前加r 例如:r'fsaa\nad'
字符串的格式化
- %d 数字
- %f 浮点数
- %s 字符
- %c ASCII码
- %o 八进制数
- %x 十六进制
- %e 科学计数法
- %r 数字和字符都可以
补充:如'%a.bf'%23.12586,其中a的正负代表右对齐还是左对齐,a的大小表示保留的总个数,b代表保留多少位小数。
如 '%as'%'sdfsh',其中a表示格式化长度。
format了解:
'{:.2f}'.format(12.333) 保留小数点后两位
'{a:.2f}'.format(a=12.333)
'{:.2%}'.format(0.333) 百分比格式
'{:x}'.format(20) 转换成十六进制
'{:o}'.format(20) 转换成八进制
' {a:<10}’.format(a=12.3,b=13.44) 左对齐,长度为10
' {a:0<10}'.format(a=12.3,b=13.44) 数字补x (填充右边, 宽度为4)
' {a:0>10}’.format(a=12.3,b=13.44) 右对齐...
' {a:0^10}'.format(a=12.3,b=13.44) 两边对齐...
'{{ hello {0} }}'.format('python’) 转义{和}符号
f = ' hello {0} '.format f('python’) 这里可以把format当作一个函数来看