字符串
1、字符串
1) 定义字符串:为变量分配一个值即可(单引号双引号都可以)
s='Hello'
s1="World"
2) 字符串长度
print('s的长度是:',len(s))
结果:s的长度是: 5
3) 连接字符串
s=s+s1
print('s=',s)
结果:s= HelloWorld
2、查找字符串
1) 使用下标截取字符串
s2='Hello World!'
print('s2[0] : ',s2[0])
print('s2[7:11] : ',s2[6:11])
运行结果:s2[0] : H
s2[7:11] : World
注:(切片)[] 前包含后不包含
2) 查字符串下标
s2.find("o")
#找到这个字符返回下标,存在多个值时返回第一个;不存在则返回-1
s2.index("o")#找到这个字符返回下标,存在多个时返回第一个;不存在则报错
3) 查字符串出现的次数
s2.count('o')
3、修改字符串:(在python中字符串是不允许被修改的)
1) 通过给一个变量赋值或者重新赋值
2) 字符串替换:replace('旧字符','新字符')
s3='Hello World!'
print('s3= : ',s3.replace('W','w'))
运行结果:s3= : Hello world!
3) 通过字符串切片
print(s3[:5]+' baby,欢迎你来到这个 '+s3[6:])
运行结果:Hello baby,欢迎你来到这个 World!
4) 通过字符串转列表,修改列表中的元素值,然后列表再转回字符串
s3='Hello
World!'
str=list(s3) #字符串转换为列表
str[-1]='。' #修改列表中的最后一个元素
s3=''.join(str) #列表转字符串
print('str :',s3)
运行结果:str : Hello World。
string 方法
1、 字符串格式输出对齐
s4='Hello
World!'
print(s4.center(50)) #在50个字符中居中,其他字符用空格代替
print(s4.center(50,'*')) #在50个字符中居中,其他字符用*代替
print(s4.ljust(50)) #左对齐,其他字符用空格代替
print(s4.rjust(50)) #右对齐,其他字符用空格代替
运行结果:
Hello World!
*******************Hello World!*******************
Hello World!
Hello World!
2、 删除空格及特殊符号
s4=' Hello
World! '
s5='/Hello World!/'
print(s4.strip()) #默认删除左右两边空格和换行符
print(s5.strip("/")) #指定删除左右两边某个字符串
print(s4.lstrip()) #默认删除左边的空格和换行符
print(s4.rstrip()) #默认删除右边的空格和换行符
运行结果:
Hello World!
Hello World!
Hello World!
Hello World!
3、 大小写转换
s3='Hello
World!'
print(s3.upper())#转大写
print(s3.lower())#转小写(可以用在密码不许分大小写时)
print(s3.capitalize())#首字母大写,其余小写
print(s3.swapcase())#大小写兑换
运行结果:
HELLO WORLD!
hello world!
Hello world!
hELLO wORLD!
4、 字符串条件判断
s3='Hello
World.jpg'
print(s3.startswith('p'))#判断是否以某个字符串开头
print(s3.endswith('.jpg'))#判断是否以某个字符串结尾
print(s3.islower())#判断是否都是小写字母
print(s3.isupper())#判断是否都是大写字母
print(s3.isdigit())#判断是否为纯数字
print(s3.isspace())#判断字符串是否全部是空格
print(s3.isalnum())#判断字符串里面只要没有特殊字符,就返回true
print(s3.isalpha())#判断是不是为字母、或者汉字,不能有数字和特殊符号
运行结果:
False
True
False
False
False
False
False
False
5、 分隔字符串:即字符串转list
s5='Hello World
jpg'
s6='Hello,World,jpg'
print(s5.split())##默认按照空格来分隔字符串,返回值为list
print(s6.split(','))#指定按照某个字符来分割字符串
print(s6.split(',',1))#指定按照某个字符来分割字符串,且分隔一次
运行结果:
['Hello', 'World', 'jpg']
['Hello', 'World', 'jpg']
['Hello', 'World,jpg']
6、 join()
将字符串、元组、列表、字典中的元素以指定的字符连接生成一个新的字符串
s=['a','b','c','d']
print(''.join(s)) #默认按照空格来连接元素,返回值为字符串
print(':'.join(s)) #指定按照某个字符来连接元素
运行结果:
abcd
a:b:c:d
7、 zfill()
返回指定长度的字符串,原字符串右对齐,前面填充0
s7='1'
s8='11'
s9='111'
print(s7.zfill(3))
print(s8.zfill(3))
print(s9.zfill(3))
运行结果:
001
011
111
string 模块
import string #导入模块
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.ascii_letters)
print(string.punctuation)
运行结果:
小写字母: abcdefghijklmnopqrstuvwxyz
大写字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ
数字: 0123456789
大小写字母: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
特殊符号: !"#$%&'()*+,-./:;<=>?@[]^_`{|}~