python-字符串详细卷(懒虫期末总结)

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

从结果上看,可以注意到中间部分的字符并未删除。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白夜的月亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值