字符串
何为字符串:用于存储一些少量的数据,在Pyhton当中只要是用引号引起来的就是字符串,字符串中的每个单独的字母汉字都是一个元素.(python的基础数据类型之一)
字符串乘
字符串的乘法就是将多个字符串拼接到一起,乘法的规则:只能是字符串和数字相乘
a = '洲神'
print(a * 5)
结果:
洲神洲神洲神洲神洲神
索引(下标)
大家在上学每个人都有个学号,其实学校就是为了防止重名找错人,学号就是一种能够保证唯一且准确的手段,这种手段在计算机中存在,这种手段叫做索引,也有人称之为下标.
图上就是对"meet"字符串进行索引排号,其实图上有一点大家不难看出m对应的是数字0,计算机中数数确实要从0开始数
name = 'meet'
# 索引 0123
print(name[0])
结果:
m
细心的同学们会发现这[ ]是干啥的,这个是一个查找,里边放这索引的编号,例如是1 结果就是e,字符串的长度决定索引最大值,不能超过字符串的长度,就像上例,不能输出索引4及以上
name = 'meet'
# 索引 -4-3-2-1
print(name[-1])
结果:
t
索引也可以倒序排,从-1开始,依旧是不能超过字符串的长度!
切片
切片又是什么呢?我们先来看一个示例:
name = 'meet'
# 索引 0123
print(name[0:3])
结果:
mee
[第一个位置是开始:第二个位置是终止]中间必须使用冒号,这样的写法就是从索引0开始获取到索引3结束
估计同学们在想为什么不是meet四个元素,这是因为切片,顾头不顾腚,意思是开始索引没有问题,但是结尾索引要-1,所以只取到了三位,mee
次当看到切片中终止位置的时候把这个数减一就ok啦
字符串的常用方法
1.全部大写
name ="zhoushen"
new_name = name.upper()
print(new_name)
结果:"ZHOUSHEN"
说明:把这个字符串全部变成大写
2.全部小写
name ="ZHOuSHen"
new_name = name.lower()
print(new_name)
结果:"zhoushen"
说明:将字符串全部小写,如果字符串有小写则不会改变
3.以什么开头
name = 'alex'
new_name = name.startswith('a') 返回True或Flase
if new_name:
print('是以a开头') # 判断这是不是字符串是不是以a开头的
name = 'alex'
new_name = name.startswith('e',2,5) 返回True或Flase
if new_name:
print('是以e开头') # 我们可以指定从哪个位置开始哪个位置结束
4.以什么结尾
name = 'alex'
new_name = name.endswith('x') 返回True或Flase
if new_name:
print('是以x结尾') # 判断这是不是字符串是不是以x结尾的
name = 'alex'
new_name = name.endswith('x',2,5) 返回True或Flase
if new_name:
print('是以x结尾') # 判断这是不是字符串是不是以x结尾的
5.统计出现的次数
name = 'zhoushen'
new_name = name.count('h')
print(new_name) #结果为 2
说明:统计name这个字符串中a出现的次数
6.字符串替换
name = 'zhoushenzhoushen'
new_name = name.replace('shen','ge',1)
print(new_name)
结果:zhougezhoushen
说明:替换字符串中的内容以外 我们可以指定要替换的次数,如果不指定次数会全部替换
7.去除头尾两边的空格,换行符/制表符
name = ' zhoushen '
new_name = name.strip()
print(new_name)
结果 "zhoushen"
8.分割
name = 'zhoushenszzz'
new_name = name.split("s",1)
print(new_name) 结果:['zhou', 'henszzz']
new_name = name.split("s",1)
print(new_name) 结果:['zhou', 'hen', 'zzz']
说明:以"s"分隔,后面的1是次数,如果不写次数,会以s分隔所有! 列表这种数据类型后续更新!!
字符串的is系列
1.判断是不是十进制的数字,返回的是布尔值
name = '1234'
new_name = name.isdecimal()
print(new_name)
结果:True
2.判断是不是数字和字母以及中文,返回的是布尔值
name = 'zhoushen'
new_name = name.isalnum()
print(new_name)
结果:True
3.是不是字母和汉字,返回的是布尔值
name = 'zhoushen'
new_name = name.isalpha()
print(new_name)
结果:True