1.类型转换
str(其他数据类型)
ps:可以转任意数据类型(只需要在前后加引号即可)
2.必须要掌握的方法
1.索引取值 (起始位置0开始 超出范围直接报错)
s1 = 'helloworld'# print(s1[0]) # h
h
# print(s1[-1]) # d 支持负数 从末尾开始
d
2.切片操作
# print(s1[1:5]) # 顾头不顾尾 从索引1一直切取到索引4
ello
# print(s1[-1:-5]) # 默认的顺序是从左往右
查找不到
-5 -4 -3 -2 -1012345
-1在前只能朝着右边0,1,2,3的方向继续找
# print(s1[-5:-1]) # 默认的顺序是从左往右
worl
3.修改切片(①:一个功能是控制方向②:一个功能是控制间隔)
s1 = 'helloworld'print(s1[1:5:1]) 默认是1,这里改的是间隔
ello
print(s1[1:5:2]) # 默认是1,这里改的是间隔
el
print(s1[-1:-5:-1]) 改顺序了,从右往左,这里改的是方向
dlro
print(s1[:]) # 不写数字就默认都要
helloword
print(s1[2:]) # 从索引2开始往后都要
lloword
print(s1[:5]) # 从索引0开始往后要到4
hello
print(s1[::]) # 不写数字就默认都要,和一个冒号是一样的
helloword
print(s1[::2]) #全都要,但是每隔一个要一个
hlool
s1 = 'hello world'4.统计字符串中字符的个数(空格也算长度)
# print(len(s1)) # 10115.移除字符串首尾指定的字符
res = ' jason '# print(len(res))9# print(len(res.strip())) # 括号内不写 默认移除首尾的空格5
res1 = '$$jason$$'# print(res1.strip('$')) #移除首尾指定字符
jason
# print(res1.lstrip('$')) #移除左边指定字符
jason$$
# print(res1.rstrip('$')) #移除右边指定字符
$$jason
6.切割字符串中指定的字符
res = 'jason|123|read'# print(res.split('|')) # 在split括号中指定切割的管道符'|'
['jason', '123', 'read'] 管道符没了,而且有几个就切了几个
该方法的处理结果是一个列表
name, pwd, hobby = res.split('|')
这个用到了解压赋值
print(res.split('|', maxsplit=1))
['jason', '123|read'] 从左往右切指定个数
# print(res.rsplit('|',maxsplit=1))
['jason|123', 'read'] 从右往左切指定个数
7.字符串格式化输出
format玩法1:等价于占位符
res = 'my name is {} my age is {}'.format('jason', 123)
print(res)
my name is jason my age is123format玩法2:索引取值并支持反复使用
res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason', 123)
print(res)
my name is jason my age is123 jason jason 123format玩法3:占位符见名知意
res = 'my name is {name1} my age is{age1}'.format(name1='jason', age1=123)
print(res)
my name is jason my age is123format玩法4:推荐使用(******)
f模板字符串
name = input('username>>>:') #输入jason
age = input('age>>>:') #18
res = f'my name is {name} my age is {age}'print(res)
在字符串前面加f,里面通过大括号,在大括号里面写一个前面出现过的变量名,这个变量名所绑定的值会被自动放进来
my name is jason my age is183.字符串需要了解的方法
1.大小写相关
res = 'hElLO WorlD 666'print(res.upper()) #转大写,所有的英语字母转大写,其它的不受影响
HELLO WORLD 666print(res.lower()) #转大写,所有的英语字母转小写,其它的不受影响
hello world 666'''图片验证码:生成没有大小写统一的验证码 展示给用户看
获取用户输入的验证码 将用户输入的验证码和当初产生的验证码统一转大写或者小写再比对
'''
res = 'hElLO WorlD 666'
code = '8Ja6Cc'print('展示给用户看的图片验证码', code)
confirm_code = input('请输入验证码').strip()#移除首位空格if confirm_code.upper() == code.upper():#转大小写print('验证码正确')
res = 'hello world'print(res.isupper()) # 判断字符串是否是纯大写,判断结果是一个布尔值 Falseprint(res.islower()) # 判断字符串是否是纯小写,判断结果是一个布尔值True2.判断字符串中是否是纯数字
res = ''print(res.isdigit())
# 判断字符串是否是纯数字,判断结果是一个布尔值
例子:猜年龄
guess_age = input('guess_age>>>:').strip()
if guess_age.isdigit():
guess_age = int(guess_age)
else:
print('年龄都不知道怎么输吗???')
3.替换字符串中指定的内容
res = 'my name is jason jason jason jason jason'print(res.replace('jason', 'tonySB'))
my name is tonySB tonySB tonySB tonySB tonySB
print(res.replace('jason', 'tonySB', 1))
my name is tonySB jason jason jason jason
在括号里面末尾加数字,从左往右替换指定个数的字符
4.字符串的拼接 #字符串之间支持加法和乘法
ss1 = 'hello'
ss2 = 'world'print(ss1 + ss2) #两个字符串进行拼接
helloword
print(ss1 + '$$'+ ss2) #字符串进行拼接的时候,中间也可以添加别的符号
hello$$word
print(ss1 * 10) #字符串只能和数字相乘
hellohellohellohellohellohellohellohellohellohello
加入,用一个列表或元组放入多个字符串
print('|'.join(['jason', '123', 'read', 'JDB']))
jason|123|read|JDB
# 将列表当中多个数据值用jojn前面括号里的管道符作为连接符,拼在一起,拼成一个字符串,可以看成是split的反向操作print('|'.join(['jason', 123]))
参与拼接的数据值必须都是字符串
5.统计指定字符出现的次数
res = 'hello world'print(res.count('l'))
36.判断字符串的开头或者结尾
res = 'jason say hello'print(res.startswith('jason')) #猜以jason为开头
Ture
print(res.startswith('j')) #猜以j为开头
Ture
print(res.startswith('jas')) #猜以jas为开头
Ture
print(res.startswith('a')) #猜以a为开头Falseprint(res.startswith('son')) #猜以son为开头Falseprint(res.startswith('say')) #猜以say为开头Falseprint(res.endswith('o')) #猜以0为结尾
Ture
print(res.endswith('llo')) #猜以llo为结尾
Ture
print(res.endswith('hello')) #猜以hello为结尾
Ture
7.其他方法补充
res = 'helLO wORld hELlo worLD'print(res.title())
Hello World Hello World
print(res.capitalize())
Hello world hello world
print(res.swapcase())
HELlo WorLD HelLO WORld
可以是单个字符,也可以是一片
print(res.index('O')) #只能从左往右找到第一个符合的4print(res.find('O')) #只能从左往右找到第一个符合的4print(res.index('c'))
找不到直接报错
print(res.find('c'))
找不到默认返回-1print(res.find('LO'))
3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性