提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。
Python的字符串在使用上和其他语言的差别不大,常规操作都是一样的
比如取一个下标的值等
a = '123456'
print(a[0])
这里要说的是Python字符串和其他语言不一样的东西,首先给大家说的是在Python中,字符串的截取叫做 “切片” ,可以直接操作
a = '123456789'
print(a[0]) ---取单个下标对应值
print(a[2:5:1]) ---从下标2开始截取到下标5,截取步长为1
print(a[2:5:2]) ---从下标2开始截取到下标5,截取步长为2
print(a[2:5]) ---从下标2开始截取到下标5,截取步长默认为1
print(a[:5]) ---开始下标默认是0,截取到5
print(a[2:]) ---从下标2开始截取到末尾
print(a[:]) ---截取所有,相当于直接输出a
print(a[::-1]) ---如果步长是负数,则结果是倒着截取的987654321
print(a[-4:-1]) ---截取范围为负数的时候,同样是倒着截取678,而且注意倒着的时候下标是从1开始算,结果是678
print(a[-4:-1:1]) ---当范围的两个数是负数,步长是正数时,和a[-4:-1]没差别,只是随着步长的变动截取间隔随之变动而已
print(a[-9:-1:-1]) ---注意这一条是不会有输出的,因为截取和范围的方向会相互冲突
print(a[-1:-9:-1]) ---上一条想输出结果就要使得方向不冲突
这个切片,也就是截取操作大家看完之后可能会一脸闷,尤其是最后两条,所以我总结了一下,大家记住要领就好了
切片要领:
1、三个参数,前两个是范围,最后一个是步长
2、三个参数,正负均可,为正时代表从左开始计位,为负反之
3、范围确定区间的方向一定不能和步长的方向相冲
上面是字符串的截取操作,下面给大家介绍字符串的常用操作方法,注意只介绍常用方法,不常用的用到了网上自己找资料吧
一、查找使用find,c语言里面叫做模式匹配,其实就是找到子串在母串中的其实位置,如果找不到返回-1,该方法后两位参数是母串中的下标范围
a = '123456789'
print(a.find('34'))
print(a.find('34',5,8))
二、修改
replace(旧,新,替换次数),替换次数说的是母串中有多个旧串时替换多少个,不写全部替换,但是注意,该方法不会直接改原有母串,而是返回一个新的字符串,因为Python的字符串和其他语言一样是一个不可变的数据类型
a = '123456789'
print(a.replace('1','0'))
split(分割字符,分割次数),分割方法,分割次数说的是如果有多个分割字符,那么可以控制分割的次数,但是次数的计位是从第一次出现分割字符开始的,该方法结果返回的是一个列表
a = '123456789'
print(a.split('3'))
join(多个字符串或者一个列表),这个方法其实就是起到一个交替拼接的作用
b = ['a','b','c']
print('---'.join(b))
结果:a---b---c
capitalize(),将字符串第一个字符变为大写,其他字符全部小写
a = 'aBDYdBD'
print(a.capitalize())
结果:Abdydbd
title(),将字符串中每一个单词的首字母变为大写
a = 'abc abc abc'
print(a.title())
结果:Abc Abc Abc
lower(),全部小写
a = 'ABC abc abc'
print(a.lower())
upper(),全部大写
a = 'abc abc abc'
print(a.upper())
lstrip()、rstrip()、strip(),删除左侧、右侧、两侧的空白
a = ' abc abc abc'
print(a.lstrip())
ljust(对其长度,填充字符)、rjust()、center(),字符串左、右、中对其,注意中对其的时候有时候本不是绝对的居中,因为留给填充的位数不一定够
a = 'abc abc abc'
print(a.ljust(15,'.'))
结果:abc abc abc....
startswith()、endswith(),判断开头或结尾的字符串是否存在
a = 'abc abc abc'
print(a.startswith('abc'))
结果:True
isalpha()、isdigit()、isalnum()、isspace(),最后四个就不演示了,也是返回布尔类型,依次的作用是是否全是字母、是否全是数字、是否只是由数组字母组成、是否只有空格字符
常用的方法介绍结束了,最后给大家介绍一些Python字符串的小知识点
在之前的知识点中说了,Python的字符串用单引号或者双引号都可以,但其实也可以用三引号包裹
''' 123 '''
""" 123 """
三引号使用来做文档输出的,也就是说,随着内容的换行、缩进等等,都会体现
a = '''
I
am
Tom
'''
print(a)
做文档的输出时,三引号还有一个好处,当我们希望输出单引号时我们普通的输出时如下格式,需要单双引一起配合
print("I'm Tom")
或者
print('I\'m Tom')
而三引号没有这个顾虑
a = '''
I'm
Tom
'''
print(a)
最后Python不止有print输出函数,也支持input输入函数,当然输入接收的结果都是字符串,如果我们想要转换类型,Python给我们提供了直接转换的方法,比如想接收一个数值型,我们直接调用方法就可以
a = input()
b = int(a)
当然这种转换函数很多,不止是用来转换字符串的,下面我找了一些常用的,大家用的时候网上也找找就好