python-字符串详细卷(懒虫期末总结)
字符串基本用法:
字符串可以被单引号,双引号,三引号引起来
若字符串中已经有引号,可以使用更高一级的引号引起来
在python中,字符串可以乘上数字,表示复制
my_str="my_name is '小家伙'"
str='hello'*3
print(str)
hellohellohello
input() 函数得到的就是字符串
str=input("请输入你的成绩:")
print(type(str))
# 请输入你的成绩:88
# <class 'str'>
字符串的下标,也被称为索引,可以是正数(从0开始),可以是负数(从-n开始)
***len()函数***可以得到字符串的长度(包括空格,引号,特殊符号)
print(len(my_str))
16
使用正数下标书写字符串中的最后一个元素
print(my_str[len(my_str)-1])
'
字符串的切片
切片语法: 变量[ start: end: step] step 默认为1 切片输出不包含第end个
切片函数[ ]中的start end step 都可以省略 分别默认为 0, len(str),1
my_str1=my_str[2:6:1]
print(my_str1)
_nam
字符串的查找
find() 方法检测字符串中是否包含子字符串 str ,
如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
my_str.find (sub_str, start, end) 表示:在字符串my_str中从start到end查找是否存在字符串sub_str
index=my_str.find('is') # (查找成功会返回第一次出现的下标)
print(index)
print(my_str.find('00')) # (如果查找失败,返回-1)
print(my_str.find("my",0,1))
print(my_str.find("my",0,2)) # 注意:因为方法定义是包含子字符串
8
-1
0
-1
字符串的索引
index() 方法检测字符串中是否包含子字符串 str ,
如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 find()方法一样,只不过如果str不在 string中会报一个异常。
语法
index()方法语法:
str.index(str, beg=0, end=len(string))
参数
str – 指定检索的字符串
beg – 开始索引,默认为0。
end – 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
字符串的替换
replace() 函数
my_str3='kkkkkhhhhkkll'
my_str4=my_str3.replace('k','0')
print(my_str4)
00000hhhh00ll
字符串的分割
split() 函数
str1='hhh,sss,a,,as,d,f,g,a,10'
str2=str1.split(',')
print(str2)
['hhh', 'sss', 'a', '', 'as', 'd', 'f', 'g', 'a', '10']
字符串的链接
join(可迭代对象) 函数
可迭代对象: str ,列表(需要列表中的每一个数据都是字符串类型)
str4='*'.join('hello')
print(str4)
list=[1,2,3,4,5]
print('-'.join(list)) # 如果序列中的元素不是字符串,会报错
h*e*l*l*o
Traceback (most recent call last):
File "D:\Pycharm\Charm.1.入门\字符串.py", line 79, in <module>
print('-'.join(list)) # 如果序列中的元素不是字符串,会报错
TypeError: sequence item 0: expected str instance, int found
center() 函数:
str.center(width,char) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。char默认填充字符为空格。
参数
width – 字符串的总宽度。
fillchar – 填充字符。
当 width 参数小于等于原字符串的长度时,原样返回
无法使左右字符数相等时候,源字符串字符数为奇数时左侧字符会比右侧少 1,源字符串字符数为偶数时左侧字符会比右侧多 1
str5="hellol"
print(str5.center(4))
l=str5.center(13,"*")
print(l)
l1=str5.center(14,"*")
print(l1)
hellol
****hellol***
****hellol****
count()
str.count(sub, start= 0,end=len(string))方法
用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置
参数:
sub – 搜索的子字符串
start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
返回值:
该方法返回子字符串在字符串中出现的次数。
str = 'jdjjansjdf'
print(str.count('j',0,len(str)))
print(str.count('j',2))
4
3
strip()
str.strip([chars])方法
用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
参数:
chars – 移除字符串头尾指定的字符序列。
返回值:
返回移除字符串头尾指定的字符生成的新字符串
str = "00000003210Runoob01230000000"
print(str.strip('0')) # 去除首尾字符 0
str2 = " Runoob " # 去除首尾空格
print(str2.strip())
str3="\nxcxc\nfsdfs\nsdfs\n"
print(str3)
print("-"*10)
print(str3.strip())
3210Runoob0123
Runoob
xcxc
fsdfs
sdfs
----------
xcxc
fsdfs
sdfs
从结果上看,可以注意到中间部分的字符并未删除。