day3_课程
一、什么是数据据类型
1、int为数字类型,例:1,2,3用于计算。
2、bool为布尔型:Ture,Flase,用户判断。
3、str为字符型:存储少量数据,进行操作。 'fjdsal' '二哥','`13243'等等。
4、list为表单型:存储大量的数据,[1,2,3,'泰哥','12353234',[1,2,3]]等等。
5、元组型:为只读数据, (1,2,3,'第三方',)等等。
6、dict为字典型:字典{{'name':'云姐','age':16}, 字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
7、集合:{1,2,34,'asdf'}
二、课堂内容
#int型数据所占的二进制位数 i = 100 print(i.bit_length()) #7位
#int类型转换成str i = 1 s = str(i) print(s)
#str型转换为int s = '123' i = int(s)
#int型转换为bool 只要是0 ----》False 非0就是True i = 1 b = bool(i) print(b) #返回true
while True: pass while 1: pass #使用这种循环结构,效率比较高
#str型转换为bool,非空字符串都是True,空格也范围True s = '我爱你' i = bool(s) print(i) #返回True
#判断输入字符为空 s = input('请输入:') if s: print('你输入的为空,请重新输入') else: pass
三、字符串的索引与切片
#索引切片,从字符串中挑 s = 'ABCDLSESRF' s1 = s[0] #输出A print(s1) s2 = s[2] #输出C print(s2) s3 = s[-1] #输出F print(s3) s4 = s[-2] #输出R print(s4)
#可自由支配切片范围 s = 'ABCDLSESRF' s5 = s[0:4] print(s5) #输出ABCD s6 = s[0:-1] print(s6) #ABCDLSESR s7 = s[:] s8 = s[0:] s10 = s[:-1] print(s7, s8, s10) #ABCDLSESRF ABCDLSESRF ABCDLSESR s9 = s[0:0] print(s9) #没有任何输出 s11 = s[0:12] print(s11) #ABCDLSESRF s12 = s[-12:12] print(s12) #ABCDLSESRF s13 = s[-12:] print(s13) #ABCDLSESRF
s = 'ABCDLSESRF' # s[首:尾:步长] s10 = s[0:5:2] #从s字符中下标为0的字符,正方向,间隔1位取L至A共3个字符,为ACL print(s10) s11 = s[4:0:-1] #从s字符中下标为4的字符,反方向取L至B共4个字符,为LDCB print(s11) s12 = s[3::-1] #从s字符中下标为3的字符,反方向全取字符,为DCBA print(s12) s13 = s[3::-2] #从s字符中下标为3的字符,反方向间隔取字符,为DB print(s13) s14 = s[-1::-2] #从s字符中下标为-1的字符,反方向间隔取字符,为FSSDB print(s14) s15 = s[-2::-3] #从s字符中下标为-2的字符,反方向间两个间隔取字符,为RSC print(s15)
s = 'ABCDLSESRF' s14 = s[-1::-1] #FRSESLDCBA print(s14) s15 = s[::-1] #FRSESLDCBA print(s15)
四、字符串操作
#转换首字母大写 s = 'alexWUsir' s1 = s.capitalize() # 首字母大写 print(s1) #输出Alexwusir ss = 'ALEXWUSIR' s2 = ss.capitalize() # 首字母大写 print(s2) #输出Alexwusir
# 全大写,全小写 s = 'alexWUsir' s2 = s.upper() # 全大写 s21 = s.lower()# 全小写 print(s2, s21)#输出ALEXWUSIR alexwusir
#输入验证码,不区分大小写 s_str = 'acEQ1' you_input = input('请输入验证码,不区分大小写') if s_str.upper() == you_input.upper(): print('输入成功') else: print('请重新输入')
#大小写翻转 s = 'alexWUsir' s3 = s.swapcase() print(s3) #ALEXwuSIR # 每个隔开(特殊字符或者数字)的单词首字母大写 ss = 'alex*egon-wusir' s4 = ss.title() print(s4) #Alex*Egon-Wusir sss = 'fade,crazy*w4rri0r_songsong node_3' s4 = sss.title() print(s4) #Fade,Crazy*W4Rri0R_Songsong Node_3
#居中,空白填充 s = 'alexWUsir' s5 = s.center(20, '~') s6 = s.center(20) print(s5)#~~~~~alexWUsir~~~~~~ print(s6)# alexWUsir
#expandtabs()配合\t使用为中间间隔8个位置,即2个tab键位置,//expandtabs译为扩充标签 s = '\tsir' s6 = s.expandtabs() print(s6)# sir ss = 'alex\tsir' s6 = ss.expandtabs() print(s6)#alex sir sss = 'alex\tsir' s7 = sss print(s7)#alex sir
#识别字符长度 s = 'alex二哥' l = len(s) print(l) #6
#以什么开头结尾 endswith s = 'alexWUsir' s7 = s.startswith('alex') #判断字符串中是否有“alex”的前缀 返回true s71 = s.startswith('e', 2, 3)#判断字符串下标从2开始至下标3中,是否有“e”的前缀 返回true print(s7, s71) #例子,用来判断 if s7: print('有alex开头的字符串') pass elif s.startswith('W', 4, 6): print('有W开头的字符串') pass print(s7)
# find 通过元素找索引,找不到返回-1 # index通过元素找索引,找不到报错 s = 'alexWUsir' s8 = s.find('A') print(s8, type(s8))#find 通过元素找索引,找不到返回-1 s81 = s.index('A') print(s8, type(s8))# index通过元素找索引,找不到程序报错
#strip删除左右两边的字符 rstrip从右往左的字符 lstrip删除从左往右的字符 s = 'alexWUsir%' s9 = s.strip('%') print(s9)#alexWUsir ss = ' *a%lexWUsi* r%' s91 = ss.strip(' %*') print(s91)#a%lexWUsi* r sss = 'a%lexWUsi* r%' s92 = sss.rstrip('%') print(s92)#a%lexWUsi* r ssss = 'alexWUsi* r%' s93 = ssss.lstrip('a') print(s93)#lexWUsi* r%
# strip 默认删除前后空格 username = input('请输入名字:').strip() if username == '春哥': print('恭喜春哥发财')#输入名字中包含空格不影响判断 username1 = input('请输入名字:') if username1.strip() == '春哥': print('恭喜春哥发财')#输入名字中包含空格不影响判断
s = 'ale xaa wusirl' s10 = s.count('al') #计算al字符在字符串中有几个 输出为1 s11 = s.count('a') #计算a字符在字符串中有几个 输出为3 s12 = s.count(' ') #计算空格字符在字符串中有几个 输出为2 print(s10, s11, s12)
# split str ---->list s = ';a lex;wusir;taibai' l = s.split('a') print(l)#[';', 'lex;wusir;t', 'ib', 'i'] 剔除a,将其它变为list格式 a = s.split(';') print(a)#['', 'a lex', 'wusir', 'taibai'] 剔除;,将其它变为list格式 b = s.split(' ') print(b)#[';a', 'lex;wusir;taibai' ] 剔除空格,将其它变为list格式 C = s.split('l') print(C)#[';a ', 'ex;wusir;taibai'] 剔除l,将其它变为list格式
#format的三种玩法 格式化输出 s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白', 36, 'girl', '太白') print(s) name = input('请输入名字:') ss = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name, 36, 'girl') print(ss) name1 = input('请输入名字:') sss = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18, name=name1, hobby='girl') print(sss)
#字符替换 s = '来看待街坊邻居复合大师街坊法好的街坊客户' s11 = s.replace('街坊','老王', 1) print(s11)#来看待老王邻居复合大师街坊法好的街坊客户 s12 = s.replace('街坊','老王', 2) print(s12)#来看待老王邻居复合大师老王法好的街坊客户 s12 = s.replace('街坊','老王', 3) print(s12)#来看待老王邻居复合大师老王法好的老王客户
#for...in...,从哪到哪,然后循环 s = 'fhdsklfds' for a in s: print(a) s1 = 'fdsa苍井空fdsalk' if '苍井空' in s1: print('您的评论有敏感词...')