一、字符串的方法
isdigit()
判断对象是否是纯数字,返回值是布尔型
str1='1234'
print(str1.isdigit()) # 输出True
isalpha()
判断对象是否是纯字母,返回值是布尔型
str2 = 'abc'
print(str2.isalpha()) # 输出True
find()
查找子字符串在字符串中的位置,返回位置下标,找不到时返回-1
str3 = 'abcabc'
print(str3.find('a')) # 从头开始查找
print(str3.find('a',1)) # 从第1位开始查找
index()
查找子字符串在字符串中的位置,返回位置下标,找不到时报错
str3 = 'abcabc'
print(str3.index('a'))
print(str3.index('a',1))
print(str3.index('f'))
strip()
去掉字符串前后的空格,返回去掉空格之后的字符串
str4 = ' a b c d e '
print(str4.strip()) # 打印a b c d e
str5 = '*****abcde*****'
print(str5.strip('*')) # strip()也可以指定去掉某个字符,打印abcde
replace()
替换字符串中的子字符串,返回替换后的字符串
str5 = '*****abcde*****'
print(str5.replace('*','')) # 打印abcde
startswith()
判断字符串是否以某个子字符串开头,返回值是布尔型
str6='abcdefg'
print(str6.startswith('a')) # 打印True
endswith()
判断字符串是否以某个子字符串结尾,返回值是布尔型
str6='abcdefg'
print(str6.endswith('g')) # 打印True
upper()
将字符串转为大写字母
str7='abcdefg'
print(str7.upper()) # 打印ABCDEFG
lower()
将字符串转为小写字母
str8='abCDEFG'
print(str8.lower()) # 打印abcdefg
split()
切割字符串,以参数作为切割符,返回值是列表
str9 = 'Study the python'
print(str9.split(' ')) # 打印['Study', 'the', 'python']
print(str9.split('S')) # 当切割符位于首位或末位时,会产生空值,打印['', 'tudy the python']
二、格式化字符串
格式化字符串,类似于字符串的拼接,比普通的拼接方式更加简便。
方案一:
- %s 字符串 %d 整数 %f浮点数
info1='你是%s,我是%s,今年是%d年'%('风儿','沙',2022)
print(info1) # 打印你是风儿,我是沙,今年是2022年
- 前面的占位符比后面的参数多,则报错
- 前面的占位符比后面的参数少,也报错
- 前面是%d,后面是str型,报错
- 前面是%s,后面是数字,不报错
- 补齐 %ns n是任意整数,表示补齐到n位,不足n位用空格补齐,默认右对齐
info2='我是%3s,你是%3s,今年是%5d年'%('风儿','沙',2022)
print(info2) # 打印我是 风儿,你是 沙,今年是 2022年
- 如果字符串本身就超过了n位,显示全部字符
- 方案一中,对于数字,可以在左侧补0
- 左对齐 %-ns
info3='我是%-3s,你是%-3s,今年是%-5d年'%('风儿','沙',2022)
print(info3) # 打印我是风儿 ,你是沙 ,今年是2022 年
- %f浮点型,默认保留6位小数
float1='%f'%(3.1)
print(float1) # 打印3.100000
- 保留两位小数,%.2f
- 补齐到10位,保留两位小数,%10.2f
方案二
- format() 顺序取值
- 前面的{}比后面的参数多,报错,前面的{}比后面的参数少,不报错
str1 = '你最喜欢的歌手是{},最喜欢的歌是{},今年是{}年'.format('周杰伦','稻香',2022)
print(str1)
- format() 下标取值
- 顺序取值与下标取值不能混用
- 补齐位数,字符串默认左对齐,数字默认右对齐
- 对齐方式,< 左对齐, > 右对齐, ^ 居中对齐
str2 = '你最喜欢的歌手是{0},最喜欢的歌是{1},今年是{2}年'.format('周杰伦','稻香',2022)
print(str2)
str3 = '你最喜欢的歌手是{:>10},最喜欢的歌是{:^10},今年是{:<010}年'.format('周杰伦','稻香',2022)
print(str3)
# 打印你最喜欢的歌手是 周杰伦,最喜欢的歌是 稻香 ,今年是2022000000年
- 保留两位小数,{:.2f}
方案三
- python3.6之后,可以使用f ’ ’ 的用法
name='周杰伦'
music='稻香'
year=2022
print(f'你最喜欢的歌手是{name},最喜欢的歌是{music},今年是{year}年')