python基础之序列类型的方法——字符串方法
Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部分:字符串的方法。
接上述的列表和元组的方法,我们这次来讲讲字符串的方法,现在我们一起开始学习吧。
注:字符串是不可变类型,改、删的操作将会改变原有字符串,说人话就是改了以后它就不是原来的那个它了(滑稽)。
查
index()方法
与列表相同,index查询指定元素的下标值,如果没有该元素,则抛出错误,如果该字符串里有多个重复的数值,只返回从左开始的第一个:
a = 'hello world'
print(a.index('h'))
结果:0
# 也可以对连写元素
print(a.index('he'))
结果:0
# 如果重复,返回从左开始的第一个
print(a.index('l'))
结果:2
# 如果没有则抛出错误
print(a. index('z'))
ValueError: substring not found
count()方法
count方法可以计算指定元素在字符串中出现的个数:
a = "hello world"
print(a.count('l'))
结果:3
# 也可以像index()方法那样连写,如he
print(a.count('he'))
结果:1
find()方法
也是查询指定元素,也会返回指定下标。与index不同的是,如果该元素没有,则返回-1,故查询字符串的时候更推荐使用find方法,减少出错的可能:
a = 'hello world'
print(a.find('z'))
结果:-1
判断方法
字符串中还有四个用于判断的方法,分别是判断是否全是数字的isdigit()、判断是否全是字母的isalpha()、判断是否都是小写的islower()、以及判断是否都是大写的isupper(),这些方法返回的结果是True或者False,大家有兴趣可以尝试:
a = 'hello world'
# isdigit 判断该字符串中是否都是数字,返回True 或False
print(a.isdigit())
# isalpha 判断每个元素是否都是字母,如果字符串存在空格,就算全部都是字母也会返回False
print(a.isalpha())
# islower 判断字符串中是否都是小写字符
print(a.islower())
# isupper 判断字符字符是否大写
print(a.isupper())
改
讲完了查,现在讲改的方法,改的方法就比较朴素,没有查那么丰富了。
upper()方法
upper,顾名思义就是将字符串转换成大写:
a = 'hello world'
print(a.upper())
结果:HELLO WORLD
lower()
与之相反,自然会有个转换成小写的方法:
a = "HELLO WORLD"
print(a.lower())
结果:hello world
删
这部分操作呢,也可以叫做改,也可以叫做删,因为带有部分删除的功能,这里就叫它删吧
strip()
strip可以去除字符串两端的空格,当然也分出了lstrip删除左侧空格和rstrip删除右侧空格,这里以默认方法为准:
a = " hello world "
print(a.strip())
结果:hello world
如果你的字符串两端没有空格,则你可以指定一个元素,strip会为你删除指定的元素,如果该指定元素不存在,则无事发生:
a = "hello world"
print(a.strip('h'))
结果:ello world
split()方法
split可以指定一个元素,对字符串进行分列,同时删除该元素,如果该元素出现了多次,则分成多列
比如对一个hello world进行切割,切割l,则三个l一起切掉,该文本分为四段,并将结果转换成列表:
a = 'hello world'
print(a.split('l'))
结果:['he', '', 'owor', 'd']
replace()方法
replace可以将自定字符替换成自己想要的字符:
a = 'hello world'
print(a.replace('world','小杨'))
结果:hello小杨
字符串格式化等其他方法
通过加号来对两个字符串进行连接
如果有两个字符串,可以通过+来连接两个字符串:
a = 'hello'
b = 'world'
print(a+b)
结果:helloworld
占位符以及format的方法
概念:占位符说人话就是给一段字符串挖坑,挖完坑后用对应的东西填坑,并且挖了几个坑就必须填上几个坑
一开始的占位符看起来比较low,使用百分号%加上特定的字母来表示该占位符的数值类型,比如%S表示一个字符串,%d表示整数,%f表示浮点数,这里%.2f表示保留两位小数,使用%占位后,后面需要跟上%(填坑的数据)来填坑:
print('大家好,我是%s,今年%d岁,身高%.2f厘米' % ('小杨', 23, 170.0))
结果:大家好,我是小杨,今年23岁,身高170.00厘米
还有一种更加优雅的写法,也就是使用format方法来拼接,format的占位符是{},完成占位后使用.format(变量)来进行拼接
print('大家好,我是{}'.format('xiaoyang'))
结果:大家好,我是xiaoyang
join()方法
join方法可以用来拼接两个字符串,加两个字符串拼接在指定字符的两端,join后面只能接列表元组和字符串:
c = "+".join(['hello', 'world'])
print(c)
结果:hello+world