python 数据类型-字符串(str)
文章目录
① 字符串由一对单引号或一对双引号表示
'pyhton'"python"
② 字符串是字符的有序序列,可以对其中的字符进行索引
③ 字符串属于不可变类,无法对原字符串进行修改
索引
通过字符串的索引,获取对应的字符。
最大索引 = 字符个数 - 1,超出索引范围程序会报错。
正向索引从零开始,逐渐增大;反向索引从-1开始,逐渐减少。a = [1,2,3,4,5]print(a) # [1,2,3,4,5]print(a[0]) # 1print(a[4]) # 5print(a[-1]) # 5print(a[-5]) # 1
in:成员运算符
如果字符串中包含给定的字符返回 True,否则返回 False。
a = 'hello world'print('o' in a) # True
切片
使用 [M:N:K] 根据 步长 对字符串切片:M为起始索引,N为结束索引,K为步长。
起始索引对应的字符会被保留下来,而结束索引对应的字符不会被保留下来(包头不包尾)。
M缺失默认从头部开始,N缺失默认到末尾。str2 = '123abcdef'print(str2[2:5:3]) # 3print(str2[2:]) # 3abcdefprint(str2[2::2]) # 3bdfprint(str2[:-1]) # 123abcdeprint(str2[-2:]) # ef
内置函数
len()函数
获取字符串的长度,会返回一个int类数字,空字符串的长度为0。
语法:len( “字符串” )或len( 存储着字符串的变量 )a = len('python')print(a) # 9
count()函数
统计子字符串在原字符串中出现的次数,可选参数为在字符串搜索的开始与结束位置。
语法:str.count( sub , start=0 , end=len(string) )
sub --搜索的子字符串
start --字符串开始搜索的位置
end --字符串中结束搜索的位置。默认为字符串的最后一个位置str1 = "good good good"print(str1.count("o")) # 6print(str1.count("good")) # 3print(str1.count("o", 7) # 3print(str1.count("o", 7, 8) # 1
split()函数
通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。
如果参数 num 有指定值,则仅分割 num 个子字符串。
语法:str.split( ‘str’ , num)
str – 分隔符
num – 分割次数str1 = 'zhangsan lisi jack tom'result1 = str1.split(" ")print(result1) # ['zhangsan', 'lisi', 'jack', 'tom']result2 = str2.split(" ", 2)print(result2) # ['zhangsan', 'lisi', 'jack tom']
replace()函数
使用新字符串替换原始字符串中的指定字符串信息。
语法:str.replace( old_str , new_str , num )
old_str – 被替换的字符串
new_str – 新字符串
num – 替换数量str1 = "today is a good day today is a good day"newStr1 = str1.replace("good", "nice")print(newStr1) # today is anice day today is a nice daynewStr2 = str1.replace("good", "nice", 1)print(newStr2) # today is a nice day today is a good day