字符串基础
字符串常用操作
定义字符串时,单引号,双引号,三引号都可以
字符串拼接
# 字符串拼接 s1 = 'i' s2 = 'love' s3 = 'you' s4 = s1+' '+s2+' '+s3 print(s4) s4 = f'{s1} {s2} {s3}' print(s4)
字符串切片
对于字符串里的每个字符都有特定的位置索引
s = 'testfan'
从上面的字符串里边得到est
[1:4:1] 这是一个完整的切片形式,分别用x:y:z代表三个数字
x代表切片时起始位置索引,x可以不写默认从头开始
y代表切片时结束位置索引,结束位置索引不被包括,y也可以不写,默认到结尾
z代表切片时的位置间隔,也叫作步长,z也可以不写,默认是1,并且注意步长还可以为负数,负数则代表从右往左切,正数则代表从左往右切
# 字符串是一个不可变类型,不支持在原内存地址上进行修改 v = '我是一个字符串' print(id(v)) v = '我变了' print(id(v)) # 字符串切片 # 对于字符串里的每个字符都有特定的位置索引 s = 'testfan' # 从上面的字符串里边得到est # [1:4:1] 这是一个完整的切片形式,分别用x:y:z代表三个数字 # x代表切片时起始位置索引,x可以不写默认从头开始 # y代表切片时结束位置索引,结束位置索引不被包括,y也可以不写,默认到结尾 # z代表切片时的位置间隔,也叫作步长,z也可以不写,默认是1,并且注意步长还可以为负数,负数则代表从右往左切,正数则代表从左往右切 s1 = s[1:4:1] print(s1) # 得到tes print(s[:3]) # 得到naft,我们发现要从右往左切 print(s[:-5:-1]) # 得到nfst,从右往左切,步长为2 print(s[::-2]) # 随便写一个切片,有没有结果 print(s[-1:5]) print(s[1:5:-1]) # 我就想单独的打印字符串里的某个字母 # 比如说第3个 print(s[2]) print(s[-5]) # 比如说有一个字符串是gw0、gw1、gw22、gw100 # gw后的数字不固定位数,要求你得到这个字符串中的这些数字 s = 'gw1' print(s[2:])
寻找单词出现的位置 .find()
s = 'hello world and testfan and shamo' # 我想找s这个字符串中and这个单词出现的第一个位置,就是a出现的位置索引 index = s.find('and') print(index) index = s.find('and1') # 如果找的子串不存在,则返回-1 print(index) index = s.index('and') print(index) # index = s.index('and1') # 如果找的子串不存在,则代表会报错 # print(index)
字符串替换 .replace(旧,新)
s = 'hello world and testfan and shamo' # 我想把s这个字符串中的shamo换成beihe s_new = s.replace('shamo','beihe') print(s) print(s_new) s_new = s.replace('and','or') # 默认是全部替换 print(s_new) s_new = s.replace('and','or',2) # 数字2代表替换次数
在控制台上分别输入年月日,统计输入的日期是这一年的第多少天
比如你输入的是2023年3月11号,那么输出结果就是2023年3月11号是2023年的第70天
year = int(input("请输入年:")) month = int(input("请输入月:")) day = int(input("请输入日:")) sum_day = 0 for i in range(1, month): if i == 1 or i == 3 or i == 5 or i == 7 or i == 8 or i == 10 or i == 12: sum_day += 31 elif i == 4 or i == 6 or i == 9 or i == 11: sum_day += 30 elif i == 2: if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: sum_day = sum_day + 29 else: sum_day = sum_day + 28 sum_day = sum_day+day print(f"第{sum_day}")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术