一、字符串的含义
引号括起来的数据类型就是字符串
引号可以是单引号‘’、双引号“”、三引号"""
三引号什么时候是注释(没有代码引用是注释)什么时候是字符串呢(后面需要用到的时候是字符串)
三引号还可以表示多行字符串
srt1 = 'hello' srt2 = "world" str3 = '''python''' str4 = """java""" str5 = """ 这是第一行; 这是第二行; 这是第三行。 """
注意:
1).引号嵌套的时候 单引号只能嵌套双引号 双引号只能嵌套单引号 三引号没有区别
2).三引号可以做多行注释的作用
3).三引号可以保持字符串的格式 双引号需要依赖连接符来连接换行()
names = "zjx学习Python" print("zjx" in names) # True print("Pon" in names) # False print("Pon" not in names) # True
三、字符串拼接(+)
family_name="jing" last_name="xue" print(family_name + last_name) # jingxue
四、字符串重复*
name="zjx" print(name*2) # zjxzjx
五、字符索引
name="zhangjingxue" print(name[0]) # z print(name[-1]) # e print(name[50]) # 索引超出范围 会报错:IndexError: string index out of range
name="zhangjx" name_len = len(name) print(name_len) # 7
七、字符串切片
获取字符串的多个元素
如何表示:name[切的起始点:切的终点]
注意:包含起点,不包含终点(取左不取右,右边的+1)
name = "zjx Python" print(name[0:3]) # zjx
name[起点:终点:步长]
步长不写的时候默认为1
num="010101010101" print(num[0:5:2] # 000 print(num[1:5:2] #11
注意:切片当中超出范围不报错,表示取完的意思
变量名[start:end:step]
start:可以省略,最开始的地方,0或-1
end:可以省略,一直取到最后
step:可以省略,默认为1
start和end可以同时省略,全部取完,从开始到最后 name[:]
name[:] 可以复制原来的文本
print(name)只是输出原字符串
步长为负数
print(name[3:1]----->结果为空,指令不一致,但不报错
print(name[3:1:-1]----->
总结:什么时候才能去取到数?
1)判断end-start 是正数还是负数
2)查看步长step是正数还是负数
3)符号一致才能取到数
注意:print(name[2:2])---->结果为空,指令不一致,但不报错
print(name[-2:-4:-1]
{}的意思是占位符,里面是空的话默认顺序取值
name="小样儿" age = 18 sex = "女" print(""" 我的名字:{} 我的年龄:{} 我的性别:{} """.format(name,age,sex))
'''结果: 我的名字:小样儿 我的年龄:18 我的性别:女'''
{}的意思是占位符,里面有数字的话默认顺序format的对应的索引
name="小样儿" age = 18 sex = "女" print(""" 我的名字:{2} 我的年龄:{0} 我的性别:{1} """.format(name,age,sex)) '''结果: 我的名字:女 我的年龄:小样儿 我的性别:18'''
{}的意思是占位符,里面可以加标记,format的对应的也要加标记
name="小样儿" age = 18 sex = "女" print(""" 我的名字:{MZ} 我的年龄:{NL} 我的性别:{XB} """.format(MZ=name,NL=age,XB=sex)) '''结果: 我的名字:小样儿 我的年龄:18 我的性别:女'''
九、字符串函数
1)大小写字母转换:
a="hello Python" print(a.upper()) #HELLO PYTHON upper:字符串中所有字母转大写 print(a.lower()) #hello python lower:字符串中所有字母转小写, print(a.title()) #Hello Python title:字符串中首字母大写 print(a.capitalize()) #Hello python capitalize:字符串中第一个字母大写 print(a.swapcase()) #HELLO pYTHON swapcase:字符串中大小写互换
2)replace():替换某个字符
a="小样儿真是666" b = a.replace("小样儿","zjx") print(b) # zjx真是666
3)fing():查找执行字符串,找到该字符串的索引位置,不能找到返回-1
a="小样儿真是666" index = a.find("小") print(index) # 0 index = a.find("雪") print(index) # -1
4)index():查找执行字符串,找到该字符串的索引位置,不能找到会报错,ValueError值错误
a="小样儿真是666" index = a.index("小") print(index) # 0 index = a.index("雪") print(index) # ValueError: substring not found
index(),find()都是找字符串的索引,注意区别:
1.相同点,都是查找索引值
2.不同点:在查找不对目标串的情况下,find()会返回-1,index()是报错-valueerror:substring not found
5)count():查找字符串的次数
a="小样儿真是666" print(a.count("6")) # 3
6)join():字符串的拼接,是split()方法的逆方法
注意:需要被连接的序列元素都必须是字符串.
a=",".join(["zjx","learn","python"]) print(a) # zjx,learn,python
7)split():字符串的拆分,是join()的逆方法
b = "zjx,learn,python" c = b.split(",") print(c) # ['zjx', 'learn', 'python']
8)strip():去掉字符串两边的空格
注意:不加参数是除去字符串两侧的空格(不含字符串中间的空格)
加参数,是除去两侧的需要去掉的字符
d= " ds dad fs ds " print(d.strip()) #ds dad fs ds
9)isdigit():检测字符串是否只由数字组成,返回布尔型True或False
a='mfhj' print(a.isdigit()) # False