一、字符串
字符串是一个有序的字符集合,用于存储和表示基本的文本信息,单引号、双引号和三引号包含的内容称之为字符串。
字符串的特性:
1、按照从左到右的顺序定义字符集合,下标从0开顺序访问,有序
2、可以像列表那样进行切片操作
3、字符串不可变,不能像列表那样进行修改其中的某个元素。
字符串的操作方法有很多,下面介绍一下比较常用的操作。
二、常用操作
1、capitalize()
capitalize() 函数是将字符串的首字母变成大写,其余变成小写。
s_tr = 'mY naMe is LiLei'
print(s_tr.capitalize())
结果:
My name is lilei
2、lower()
lower()函数是将字符串中的大写字符全部变为小写。
s_tr = 'mY naMe is LiLei'
print(s_tr.lower())
结果:my name is lilei
3、upper()
upper()函数是将字符串中的小写字符全部变为大写。
s_tr = 'mY naMe is LiLei'
print(s_tr.upper())
结果:MY NAME IS LILEI
4、strip()
strip() 函数以后经常用到,作用是将字符串前后的空格去掉。
此外还有lstrip() 和 rstrip() 函数,lstrip()函数是将字符串左侧的空格去除,rstrip()函数是将字符串右侧的空格去除。
5、split()
split()函数是将字符串按照某个指定的字符,或者符号将字符串分割,并将分割的元素放入列表中,最终返回的是一个列表。
用法 split(分隔符,最大分割次数),如果不写分隔符和最大分割次数,默认分隔符为空格,并全部将字符串进行分割。
s_tr = 'my name is LiLei'
print(s_tr.split())
结果:['my', 'name', 'is', 'LiLei']
s_tr = 'my name is LiLei'
print(s_tr.split(" ",maxsplit=2)) # 以空格为分割符,最大分割数为2,默认从左侧开始计数
结果:['my', 'name', 'is LiLei']
还有rsplit()函数,是从字符串右侧开始进行分割,用法和split()函数类似。
6、count()
count(self,sub,start=None,end=None)函数是统计指定的字符在字符串中的数量,可以通过start 和 end来控制字符串的查询范围。
s_tr = 'my name is LiLei'
print(s_tr.count("m"))
s_tr = 'my name is LiLei'
print(s_tr.count("m", 0, 5))
结果:
2
1
7、startswith()和endswith
startswith(self,sub,start=None,end=None) 和 endswith(self,sub,start,end) ,这两个函数分别表示以什么字符开头或结尾,返回True和False。
s_tr = 'my name is LiLei'
print(s_tr.startswith("m"))
s_tr = 'my name is LiLei'
print(s_tr.endswith("i"))
结果:
True
True
8、center()、ljust(), rjust()
center(self,width,fillchar) 函数是将字符串两端用特定的符号进行填充,字符串居中显示,width宽度指的是显示的总宽度,如果设定值小于字符串长度,将起不到填充效果。
s_tr = 'my name is LiLei'
print(s_tr.center(30, "-"))
s_tr = 'my name is LiLei'
print(s_tr.center(10, "-")) # 设定总宽度小于字符串宽度
结果:
-------my name is LiLei-------
my name is LiLei
ljust(self,width,fillchar)是在字符串右侧填充特殊字符,rjust(self,width,fillchar)是在字符串左侧填充特殊字符。
st = "My name is lilei"
print(st.ljust(20, "-"))
print(st.rjust(20, "-"))
结果:
My name is lilei----
----My name is lilei
9、join()
join(self,iterable)函数是将列表、元组等而可迭代的对象用特定字符拼接起来,形成新的字符串。
List = ["my", "name", "is", "lilei"]
s_tr = '-'
print(s_tr.join(List))
结果:my-name-is-lilei
10、find()
find(self,sub,start,end) 是找出指定的字符元素在字符串中的位置,返回的是第一个结果的索引值
s_tr = "my name is lilei"
print(s_tr.find("m"))
结果:0
11、replace()
replace(self,old,new,count) 函数是对字符串中的某个元素用新的字符进行替换,count不指定默认将字符串中的旧字符全部替换,指定的话,只对旧字符进行指定次数的替换。
s_tr = "my name is lilei"
print(s_tr.replace("m", "M"))
s_tr = "my name is lilei"
print(s_tr.replace("m", "M", 1))
结果:
My naMe is lilei
My name is lilei
12、format()
format(self,*args,**kwargs) 是一种格式化字符串的函数。基本语法是通过{}和:来替代之前的%。format函数可以接受不限个数参数,位置也可以不按顺序。
st = "My name is {0}, age is {1}"
print(st.format("lilei", 18))
st = "My name is {name}, age is {age}"
print(st.format(age=18, name='lilei'))
结果:
My name is lilei, age is 18
My name is lilei, age is 18
13、zfill()
zfill(self,width)函数是在字符串左侧填充0.
st = "My name is lilei"
print(st.zfill(25))
结果:000000000My name is lilei