1-序列类型-字符串str-序列操作
str 字符串
索引取值(提取单个值)
s = "hello world" print(s[1]) # e print(s[6]) # w # 索引也支持负数下标 print(s[-3]) # r # 使用负数下标提取字符 o print(s[-4]) # o print(s[-7]) # o
切片操作 左闭右开
s = "hello world" print(s[2:5]) # llo print((s[-9:-6])) # llo print(s[2:-6]) # llo print(s[-9:-5]) # llo # 提取hello print(s[0:5]) # hello # 如果提取的内容,包含字符的最开始位置,则左边的 0 可以简写 print(s[:5]) # hello # 提取world print(s[6:]) # world # 从s中提取全部字符 print(s[:]) # hello world
使用 下标索引 或 切片 操作过程中,针对不存在的下标,结果是不一样的
索引取值,当 索引 不存在时,python会报错
s = "abcdef" print(s[9]) # IndexError: string index out of range 索引错误:字符串的索引操作超出了范围
切片 取值,当索引不存在时,不会报错,而是返回空序列
字符串的空序列,就是空字符串 ""
# 从索引9的位置往后提取切片 s = "abcdef" ret = s[9:] print(ret,type(ret)) # <class 'str'>
切片操作过程中,
除了声明切片的开始位置和结束位置以外,
还可以通过第三个数值来声明 切片的方向 和 切片操作的步进值,
所谓步进值,就是python在操作过程中跳跃的步骤,
切片操作过程中,默认的步进值为1
s = "123456789" # 提取s中的奇数数字 print(s[::2]) # 13579,这里表示提取一个索引对应的字符以后,下标+2 # 提取s中的偶数 print(s[1::2]) # 2468 print(s[4::2]) # 579 print(s[:-2:3]) # 147 # 翻转字符串,在步进值中,正数表示从左往右,负数表示从右往左 print(s[::-1]) # 987654321
可以用 in 关键字,判断 指定字符 或 指定字符串 是否在 目标字符串 中出现
in 执行的结果,只会是布尔值,True/False
message = input("请输入你的留言:") print("hello" in message) email = "www@qq.com" print("@" in email) # True
可以使用 + 号拼接两边的字符串
provice = "河北省" city = "石家庄" area = "裕华区" addr = provice + city + area print(addr) # 河北省石家庄裕华区 # 但是字符串不能和数字相加 # 以下是错误写法: print("1" + 1) # TypeError: can only concatenate str (not "int") to str
工作中常见的情况:
weight1 = input("请输入货物重量:") #用户录入的数据往往都是字符串,即使用户填写的是数字,input提取到的也是字符串 weight2 = 3.5 total_weight = float(weight1) + weight2 print(total_weight)
乘法叠加字符串,一般也叫填充
s = "+" print(s*10) # ++++++++++
解包,也叫解构,
表示把一个序列的数据,按成员数量拆分成对应数量的变量进行保存
s = "hu" a1, a2 = s print(a1) # h print(a2) # u # 如果成员的数量与等号左边的变量数量不等,则报错 s = "www" a1, a2, a3, a4 = s print(a1, a2, a3) # ValueError: not enough values to unpack (expected 4, got 3) # 值类型错误:没有足够的成员来进行解包(等号左边期望是4个,结果等号右边只提供了3个) s = "www" a1, a2 = s print((a1, a2)) # ValueError: too many values to unpack (expected 2) # 值类型错误:太多的成员需要解包了(等号左边希望是2个)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!