字符串
创建字符串可以使用单引号、双引号、三单引号和三双引号,其中三引号可以多行定义字符串,Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。
String1 = '你好'
String2 = "我好"
String3 = """
a
b
"""
1.字符串索引
在字符串中,可以通过索引来拿取其中的一个字符。字符索引是由0开始的。
String1 = '你好 中国'
print(String1[0]) #输出第一个字符 你
print(String1[1]) #输出第二个字符 好
print(String1[-1]) #输出最后一个字符 国
注意:从前计算,下标从0开始;从后计算,下标从1开始
2.查找字符串——find()
在Python中运用find方法从前往后按照元素的下标来查找字符串中某一元素,返回的是第一个被找到字符串片段的起始位置。
str.find("s",a , b)
第一个参数:要查找的字符串片段
第二个参数:查找的起点位置
第三个参数:终止位置
注意:如果查找的字符串存在多个,查找结果是第一个出现的字符串下标,找不到就返回 -1。
s = "你好,我好,他也好"
print(s.find("好",0,6)) #1
3.统计字符串出现次数——count()
运用count()方法统计字符串中某一段字符出现的次数。找到相应字符返回总次数,找不到返回 0
s = "你好,我好,他也好"
print(s.count("好")) #3
print(s.count("她")) #0
4.字符串长度——len()
len()方法计算字符串的总长度
s = "你好,我好,他也好"
print(len(s)) #9
5.字符串替换——replace()
运用replace()方法实现指定字符串片段的替换。
str.replace("s1","s2",a)
第一个参数:需要被替换的字符串片段
第二个参数:替换的字符串
第三个参数:替换掉次数,从前往后替换
注意:替换次数若没有写明,就是默认替换所有
s = "你好,我好,他也好"
print(s.replace("好","努力")) #你努力,我努力,他也努力
print(s.replace("好","努力",2)) #你努力,我努力,他也好
6.字符串大小写转换——upper()&lower()
upper:将小写字母转为大写
lower:将大写字母转换为小写
s = "python"
res1 = s.upper()
res2 = res1.lower()
print(res1) #PYTHON
print(res2) #python
7.字符串分割——split()
运用split()指定分割点对字符串进行分割
str.split(a,b)
第一个参数:分割点
第二个参数:分割的次数(默认找到所有的分割点进行分割)
注意:运用split按照分割点进行分割,会得到一个列表
s ="2347hsa23efytqeqty21324"`
print(s.split('2')) #['347hsa','3efytqeqty','13','4']
print(s.split('2',2)) #['347hsa','3efytqeqty','1324']
8.字符串切片
针对某一段字符串,获取到某一段字符或某一串字符。
切片格式1:[开始:结尾] 取左不取右
name = "他好,我也好"
print(name[0:3]) #他好,
print(name[:3]) #默认从0下标开始
print(name[:]) #获取整个字符串
print(name[-1]) #我
print(name[-3:-1]) #我也
print(name[-3:]) #我也好
注意:正取从小计数;反取从大计数
切片格式2:[开始:结尾:步长] 取左不取右
步长在此处的意思就是,每次移动下标时移动的距离
name = "他好,我也好"
print(name[0:5:2]) #他,也
print(name[::-1]) #全部反转 好也我,好他
9.去除空格——strip()
用strip()方法去除字符串首尾的空格
s = " g38eih "
print(s.strip()) #g38eih
也可以用此方法去除字符串首尾的字符
s = "666hujnm66"
print(s.strip("6")) #hujnm
注意:strip()方法只能用于去除字符串首尾是空格(元素),若要去除字符串中间的,可以使用replace()方法来实现
s = " gi uh "
print(s.replace(' ','')) #giuh
10.字符串拼接
在字符串中常使用”+“来进行拼接。
a = '100' + '20'
print(a) #10020
字符串添加逗号
b = '一瓶提神醒脑'
c = '两瓶永不疲劳'
d = '三瓶长生不老'
f = ','.join(b,c,d)
print(f) #一瓶提神醒脑,两瓶永不疲劳,三瓶长生不老
11.字符串格式化
(1)格式化
在Python中对字符串进行格式化,调用str.format()方法。就可以实现对既定文本内容的添加。
#使用名称占位符
s1 = "一瓶提神醒脑,两瓶{name1},三瓶{name2}".format(name1 = "永不疲劳",name2 = "长生不老")
print(s1) #一瓶提神醒脑,两瓶永不疲劳,三瓶长生不老
#使用序号占位符,为空默认从左到右0123。。。
s2 = "一瓶提神醒脑,两瓶{0},三瓶{1}".format( "永不疲劳","长生不老")
print(s2)
#混合使用
s3 = "一瓶提神醒脑,两瓶{name},三瓶{}".format("长生不老",name = "永不疲劳")
print(s1)
注意:format后边的字符串与大括号一一对应,如果修改大括号的位置,相应字符串的填充位置也不同
s = "一瓶提神醒脑,两瓶{1},三瓶{0}".format("永不疲劳","长生不老")
print(s) #一瓶提神醒脑,两瓶长生不老,三瓶永不疲劳
(2)F表达式
除此之外,还可以使用F表达式来实现格式化,F或者f都可以
name1 = "永不疲劳"
name2 = "长生不老"
s = F'一瓶提神醒脑,两瓶{name1},三瓶{name2}' #= f'一瓶提神醒脑,两瓶{name1},三瓶{name2}'
print(s) #一瓶提神醒脑,两瓶永不疲劳,三瓶长生不老
(3)格式化小数长度
在对字符串机进行格式化时,控制输入浮点型数字小数长度(会四舍五入)
:.2f
其中“2”的位置表示保留的小数位数
PI = 3.1415926
print("圆周率大概是{:.2f}".format(PI)) #圆周率大概是3.14
(4)百分比形式
在对字符串机进行格式化时,将小数按百分比形式表达出来
:.2%
其中“2”的位置表示转换为百分数后保留的小数位数
s = 0.66662
print("百分比为{:.2%}".format(s)) 百分比为66.66%
12.格式化输出
传统格式化输出是通过%来实现的,其中不同类型数据有不同占位符
%s:字符占位,但是通常可以用作任意类型数据的占位符
%d:数值型数据占位
%f:浮点型数据占位符
s1 = "我%s"%("好") #我好
s2 = "我的成绩是%d"%(100) #100
s3 = "我的零花钱"%(100) #100.000000