python基本数据类型-字符串str
1.1字符串定义:
s = 'hello world!' 字符串是有序的字符的集合
1.2字符串的特性:
1.2.1 按照从左到右的顺序定义字符集合,下表从0开始顺序访问,有序。
1.2.2 索引
1.2.3 可进行切片操作:(顾头不顾尾)
1.2.4 字符串是不可修改的,所有对字符串的修改操作都相当于生成了一个新的字符串。
1.3 字符串的常用方法:(下列方法中str的值均为'caizhi')
1.3.1 center(self,width,fillchar=None)
在字符串左右添加宽度为width/2的字符,是字符串位于中央
![](https://img2020.cnblogs.com/blog/1805384/202101/1805384-20210122145213408-1385421922.png)
1.3.2 count(self,sub,start=0,end=len(str)) (顾头不顾尾)
计算str中sub的个数,可用start和end界定范围,返回值为int型
>>> str = 'caizhi'
>>> str.count('i')
2
>>> str.count('i',2,5)
1
>>> str.count('i',2,6)
2
1.3.3 endswith(self,suffix,start=None,end=None) (顾头不顾尾)
startswith(self,suffix,start=None,end=None)
字符串是否以suffix结尾,可以用start和end界定判断范围,返回值为True或者False
>>> str.endswith('i')
True
>>> str.endswith('i',0,5)
False
>>> str.endswith('i',0,6)
True
1.3.4 find(self,sub,start=None,end=None) (顾头不顾尾)
查找字符串str中是否有sub字符,可用start和end界定范围,如果字符串中有多个该字符只能查找到索引最小的字符,
有则返回索引,无则返回-1
>>> str.find('a')
1
>>> str.find('i',2,5)
2
>>> str.find('i',3,5)
-1
1.3.5 isdigit(self)
判断该字符串是否只由数字生成,是则返回True,否则返回False
1.3.6 join(self,iterable)
用字符将字符串序列iterable连接起来
>>> str = ('c','a','i','z','h','i')
>>> ''.join(str)
'caizhi'
>>> '-'.join(str)
'c-a-i-z-h-i'
1.3.7 replace(self,old,new,count=None)
使用新的字符替换目标字符串的某个字符,替换后原字符串不变,生成一个新的字符串,count为替换的个数
>>> str = 'caizhi'
>>> str.replace('i','0')
'ca0zh0'
>>> str.replace('i','0',1)
'ca0zhi'
>>> str
'caizhi'
>>> new_str = str.replace('i','0')
>>> new_str
'ca0zh0'
1.3.8 split(self,sep=None,maxsplit=-1)
将字符串按照分隔符sep分割maxsplit次,被作为分隔符的字符不在出现,分割返回值为列表形式,包含maxsplit+1个字符串
>>> str.split('a')
['c', 'izhi']
>>> str.split('i',1)
['ca', 'zhi']
>>> str.split('i')
['ca', 'zh', '']
# 如果括号中不带任何参数,则表示以任意多个空格或\n为分隔符
>>> str = '1 3 4 5'
>>> str.split()
['1', '3', '4', '5']
>>> str = '1 3 4 \n 5'
>>> str.split()
['1', '3', '4', '5']
1.3.9 strip(self,chars=None)
去除字符串头部和尾部的指定字符(默认为空格或换行符)
>>> str = ' caizhi '
>>> str.strip()
'caizhi'
>>> str = '00cai00zhi00'
>>> str.strip('0')
'cai00zhi'
created by Caizhi