字符串:
下标(索引)
切片[起始:终止]
步长[起始:终止:1] 或者-1 从后往前 -1 -2 -3
15个专属方法:
1-6 : 格式:大小写 , 居中(6)
s.capitalize() s.title() s.upper() s.lower() sss.swapcase()
sss.center(20)
s = 'liu#yang'
s1 = s.capitalize() #首字母大写
print(s1)
s2 = s.title() # 非字母隔开的
print(s2)
s3 = s.upper() # 全都大写
print(s3)
s4 = s.lower() # 全都小写
print(s4)
sss = 'LiuYang'
s5 = sss.swapcase() # 和原来大小写相反
print(s5)
s6 = sss.center(20) # 空出 20 左右吗? 个格
s6 = sss.center(20,'*') # 空出 20 左右吗? 个格
print(s6) #******LiuYang**** 可以用来这样 注释
实例:
验证码登录验证两个问题:
(1).不分大小写
(2).有空格或者是指标等问题
#1.验证码的 问题 都变成一样大的 然后再匹配相等 而不是 2**4
code = 'liuyang'.upper()
# username = input('姓名').upper()
while True:
your_code = input('姓名').upper()
if code == your_code:
print("ok")
break
else:
print("请重新输出:")
code = 'liuyang'.upper()
# 2.username = input('姓名').upper()
while True:
your_code = input('姓名').strip()
if code == your_code:
print("ok")
break
else:
print("请重新输出:")
重要的三个 方法: 去除 ,分割, 嵌入 :s.strip() s.split() s9='*'.join(l1)
去除:默认去除两边空格
指定去除特定元素
分割:str --------------> list
嵌入:list --------------> str
7.去除:s.strip()方法:
# strip 去除 默认去除 空格 制表符 换行符 但是 也可以指定元素 从左或右
s = 'qwasxlexyt'
s7 = s.strip('qwla') # 不按顺序 切片 去除字符 (条纹)
print(s7) # 同时从两边检索
s7 = s.strip('xle') # 从左边开始检索
print(s7)
s7 = s.rstrip('t') # 特殊字符停止吗?
s71 = s.strip('t')
print(s7)
print(s71)
s7 = s.strip('ytq') # 不论顺序 ,从两边 中间的就不行了
# print(s7)
8.分割: s.split() 方法
# str --------------> list *********
s = 'a b c'
l = s.split() # (分裂)
print(l) # ['a', 'b', 'c']
l = s.split(',')
print(l) # ['a b c'] 去了, 变成了一个元素 s = 'a刘a洋a' # 有多少个 输出多一个 列表元素
print(s)
l = s.split('a') #所以有四个
print(l)
l = s.split('a' , 1) # 分为两个
l1 = s.rsplit('a' , 1) # 从右往左输出
print(l)
print(l1)
#['a刘a洋', '']
9.嵌入:s9='*'.join(l1) # join 虽然处理的是可迭代,但是还是最终处理的是字符串(同学说的)
int 错误[1,2,3]或者str[list] [‘1’,‘2’,‘3’]对
# join *** 嵌入元素 ***
s = 'liuyang'
s9 = '*'.join(s)
print(s9)
l1 = ['liuyang' , 'gege' , 'mengge']
s9 = ','.join(l1)
print(l1) # ['liuyang', 'gege', 'mengge']
print(s9)#liuyang,gege,mengge # 操作列表 变成字符串吗?
dic = {'2':3, '3':3,'1':3}
l1 = '*'.join(dic)
2*3*1
10. 判断开头结尾:s.startswith() s.endswith()
s = 'liuyang'
s10 = s.startswith('a')
print(s10)
s11 = s.endswith('g')
print(s11)
12.找某个字符的索引: find()
# find 找某个字符 的 索引 **
s = 'liuyang'
s12 = s.find('l')
print(s12)
s12 = s.find('i' , 2 , ) # 从第三位开始
print(s12) # 找不到就抱-1
# s13 = s.index('i' , 2 ,)
# print(s13) # 找不到就报错 index
14替换:replace()
# 替换
s = "刘洋学习 python , python 简单 , python 执行效率高"
print(s)
s14 = s.replace('python','Java')
print(s14)
15.第二种格式化输出:format ()
###############################format 除了字符串 外的 格式化输出
s = '我们{}, 今天{} , 学习{}' # 注意用英文 , 括号 会打两下
s15 = s.format('20期','星期一','python')
print(s15)
s = '我们{0}, 今天{1} , 学习{2} , 生命苦短,我用{2} ' # 注意用英文 , 括号 会打两下
s15 = s.format('20期','星期一','python')
print(s15)
s = '我们{name}, 今天{time} , 学习{lesson} , 生命苦短,我用{lesson} ' # 注意用英文 , 括号 会打两下
s15 = s.format(name='20期' , lesson= 'java' ,time = '星期一')
print(s15)
16.判断:isdigit() isalpha() isalnum()
# is 判断
s = 'liuyang'
s1 = '5shiliuyang'
s2 = ''
print(s.isdigit()) # 只有数字组成
print(s.isalnum()) #数字和字母
print(s.isalpha()) # 只有字母组成
17数数: 公共方法 和 专属方法
# 数数
print(len(s))
print(s.count('l'))
print(s2.count(''))
lis.sort() # 从小到大大
lis.sort(reverse = True) # 从大到小
lis = [1,2,3] new_lis = lis.reverse() # 倒序
print(new_lis) # 过程 为None
print(lis) # [3,2,1]
元组:
() (22) (22,)