字符串类型内置放方法
字符串
1.作用:姓名/性别等
2.定义方式:
s = b'sdkljl' # 打印出来的bytes类型,二进制类型,01010101011010100 # 有着这种二进制的定义方式,其实一点用都没有
print(s)
print('sdkljl')
\n 换行
s = 'a\na' #碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义
print(s)
\t 缩进4个空格
s = 'a\t\ta'
print(s)
\r 回退上一个打印结果,覆盖上一个打印结果
print('\ra',end='') # \r必须开头,本来打印两个,会被下面的覆盖上面的,变成一个
print('\ra',end='')
s = 'a\\na' # 加一个\会让后面的\变得无意义
print(s)
s = r'a\n\t\ra' #如果引号前面价格r会让其中的转义字符全失效
print(s)
创建文件import os(导入os操作系统)
path = 'D:\python学习\python进阶'
import os
path = os.path.join(path,'test.txt')
with open(path,'w',encoding)
fw.write('nick最丑')
print(path)
3.内置方法:s.~~点出来的叫内置方法
s = 'nick handsome'
## 优先掌握(今天必须dai掌握)
# 1.索引取值
print(s[1]) #结果为:i
# 2.切片
print(s[4:0:1]) # 1表示从左到右 结果为: (空格)
print(s[-4::-1]) # -1表示从右到左 结果为:sdnah kcin
print(s[4:0:-1]) # -1表示从右到左 结果为:kci
# 3.for循环
for i in s:
print(i)
# 4.strip()
s1 = ' nick handsome '
print(s1.strip()) #去两端的空空格 结果为:nick handsome
s2 = '***!!!nick handsome----***'
print(s2.strip('*!-')) #制定多个字符一起去掉,只要字符串里面有的字符就全部干掉
# 原理
s.strip('-*') 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有就去掉,没有停止去掉
print(s2.strip('*nick'))#结果为:!!!handsome----
print(s2.strip('nick')) #结果为:***!!!nick handsome----***
# 5.split() 切割
print(s2.split()) # 默认以空格切割字符串
print(s2.split('!')) # 以!位置切割 结果为:['***','','','','nick hsndsome----***']
print(s2.split('!',2)) # 2表示切割两次的意思 结果为:['***','','','!nick handsome----***']
s2 = '***!!!nick handsome----***'
# 6.in 或 not in
print('*' in s2) #True
print('$' not in s2) # True
# 7.长度len()
s2 = '***!!!nick handsome----***'
print(len(s2)) # 求字符串的长度
## 需要掌握(一周之内掌握)
# 1.lstrip() and rstrip # 移除左边的 或 移除右边的
s2 = '***!!!nick handsome----***'
print(s2.lstrip('*')) #结果为:!!!nick handsome----***
print(s2.rstrip('*')) #结果为:***!!!nick handsome----
# 2.rsplit() 从右边切割
print(s2.split('*',1)) #结果为:['','**!!!nick handsome----***']
print(s2.rsplit('*',1)) #结果为;['***!!!nick handsome----**','']
# startswith & endswith 以...开始 & 以...结束
s3 = 'aaabbJ'
print(s3.startswith('b')) #结果为:True
print(s3.endswith('J')) #结果为:True
# join(用的比较多) #加入;以什么间隔
s3 = ' '
print(s3.join(['234','456'])) #以s3为间隔符,拼接列表里的每一个元素 结果为:234 456
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/红薯'
s1 = s.split('/')
print('*'.join(s1)) #结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*红薯
# replace #取代;替换
s2 = 'yongjiu handsome'
print(s2.replace('yongjiu','gebilaowang')) # 结果为:gebilaowang handsome
# isdigit(纯数字)/isalpha(纯字母) # 判断是否为数字/字母
s2 = '12312'
s3 = 'nick'
print(s2.isdigit()) #True
print(s3.isdigit()) #False
print(s2.isalpha()) #False
print(s3.isalpha()) #True
## 了解(能就能,不能就不能)
# find|rfind|index|rindex|count
s2 = '****nick $ handsome****'
#之前用索引需要自己数,现在可以直接查找如下
print(s2.find('$')) # 从左找,找到第一个停止,找不到会返回-1| }索引都
print(s2.rfind('$')) # 从右找,找到第一个停止,找不到会返回-1| }是正的
print(s2.index('!')) # 同理,但找不到会报错
print(s2.rindex('!')) # 同理,但找不到会报错
# 未来会学到更强大的
import re
res = re.findall('\d+',s2) #\w+ and \d+ #找字母 或 找数字
print(res)
# center|ljust|rjust|zfill
s2 = 'nick handsome'
print(s2.center(50,'*')) # 居中
print(s2.ljust(50,'*')) # 居左
print(s2.rjust(50,'*')) # 居右
print(s2.zjust(50)) # 填充0居右
# expandtabs
s2 = 'a\ta'
print(s2.expandtabs(32)) # 针对\t而言
# captalize|swapcase|title
s2 = 'harry Potter'
print(s2.captalize()) # 首字母大写,用在段落开始 #结果为:Harry potter
print(s2.swapcase()) # 大小写互换 #结果为:HARRY pOTTER
print(s2.title()) # 所有单词首字母大写 #结果为:Harry Potter
#is系列(有兴趣的自己了解)
4.存一个值还是多个值
一个值
5.有序还是无序
有索引:有序
6.可变还是不可变(重点)
不可变
可变:值变id不变,不可哈希
不可变:值变id也变,可哈希
这节需要用的单词
strip | 去除两端字符 |
---|---|
lstrip | 从左边去除 |
rstrip | 从右变去除 |
spilt | 以....切割 |
rspilt | 从右边切割 |
startswith | 以什么开头 |
endswith | 以什么结束 |
join | 加入;以什么间隔 |
replace | 代替;替代 |
isdigit | 判断是否为数字 |
isalpha | 判断是否为字母 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY