---恢复内容开始---
一、字符串的索引与切片
1.索引
s = 'ASDFGHJKL'
有序序列,索引--index:从0开始
s1 = s[0],取出单个元素:A; s1是个全新的字符串和原字符串无关
2.切片
#想取ASDF:
s2 = s[0:4] 规律:顾头不顾腚
#想取L:
s3 = s[-1]
#想全取
s4 = s[:] or s[0:]
s5 = s[0:-1],最后一位取不到
3.跳着取,加步长
s = 'ABCDLSESRF'
s6 = s[0:5:2] 取:ACL
4.反着取
s7 = s[4:0:-1] 取:LDCB
s8 = s[3::-1] 取:DCBA
s9 = s[3::-2] 取:DB
s10 = s[-1::-1] or s =[::-1] 取反
二、字符串常用操作方法
s = 'alexWUsir'
1.首字母大写capitalize()
s1 = s.capitalize()
2.全部变成大写upper(),全部小写lower()
s2 = s.upper()
s21 = s.lower() eg:需求--验证码不区分大小写,如何判断输入是否正确
3.大小写翻转swapcase()
s3 = s.swapcase()
4.隔开的单词首字母大写(以空格或特殊字符,数字隔开即可) title()
s = alex egon wusir
s4 = s.title()
5.居中,添加总宽度,填充物; center()
s = 'alexWUsir'
s5 = s.center(20,' ')
6.8位一隔开,没满的补充,expandtabs()
s = 'alex\tsir'
s6 = s.expandtabs()
#公共方法
len() ---求长度
7.判断字符串以什么为开头startwith(), 镜像方法endwith(),返回True/False
s = 'alexWUsir'
s7 = s.startwith('alex') #True
s71 = s.startwith('e',2,5)
8.通过元素查找索引,找不到返回-1 find()
s = 'alexWUsir'
s8 = s.find('W') 返回索引:4 多个元素,以第一个元素索引为准
s8 = s.index('A')
9.通过元素查找索引,找不到报错 index()
10.默认删除字符串前后空格,strip()
不止是空格,可修改默认值。 %*
变种:rstrip(),lstrip() 删除左侧右侧元素
11.统计,count()
s = 'alexWUsir'
s9 = s.count('al') # 1
12.拆分,分割,split() 成列表 字符串转列表
s = 'alex WUsir taibai'
l = s.split() #默认空格 分割成列表
s = 'alex:WUsir:taibai'
l = s.split(':')
分割符会消失(空格,:,其他你选择的分割符)
13.格式化输出,format() 三种玩法
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('john','18','ball','john') #一一对应
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('john','18','ball') #索引对应
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name='john',hobby='ball') #键值对
14.替换--replace() old new count
s = "来看街坊另见发挥街坊奶记得"
s1 =s.replace("街坊","老王") 默认全部替换
15.is系列
name='taibai123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdecimal()) #字符串只由十进制组成
三、for循环
有限循环,可迭代对象
s = 'sdasfsfr'
for i in s:
print(i)