day 3 - 1 数据类型
什么是数据类型:
int 1,2,3用于计算。
bool:True,False,用户判断。
str:存储少量数据,进行操作
'fjdsal' '二哥','`13243','fdshklj'
'战三,李四,王二麻子。。。。'
list:储存大量的数据。
[1,2,3,'泰哥','12353234',[1,2,3]]
元组:只读。
(1,2,3,'第三方',)
dict:字典{'name':'云姐','age':16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
集合:{1,2,34,'asdf'}(非常少用)
1. int
bit_length() 表示二进制有效占位数
i = 100 print(i.bit_length()) ''' bit_length 1 0000 0001 1 2 0000 0010 2 3 0000 0011 2 '''
2.bool:True False
#int --> str i=1 s=str(i) print(s,type(s)) #str --> int #s = '12323e' #i = int(s) #print (i,type(i)) a = "12345" b=int(a) print(b,type(b)) # int --> bool 只要是0 ----》False 非0就是True i = 3 b=bool(i) print(b,type(b)) i = 0 b=bool(i) print(b,type(b)) #bool----> int #True 1 #False 0 ''' ps: while True: pass while 1: 效率高 pass ''' #str --->bool #s = "" -----> False #非空字符串都是True #s = "0" -----> True # s # if s: # print('你输入的为空,请重新输入') # else: # pass
3. str 字符串的使用
1. 字符串的索引与切片
s = 'ABCDEFGHIJK' #索引 s1 = s[3] print(s1) #切片 顾头不顾尾 s2 = s[0:3] s3 = s[0:4] print (s2,s3) s4 = s[-1] s5 = s[-3] s6 = s[4:0:-1] print(s4,s5,s6) s7 = s[0:-1] s8 = s[0:] s9 = s[:] print(s7,s8,s9) #跳着截取 s[首:尾:步长] s = 'ABCDEFGHIJK' s10 = s[0:5:2] print(s10) s10 = s[3:0:-1] s11 = s[3::-1] s12 = s[5:0:-2] print(s10,s11,s12) s13 = s[-1::-1] s14 = s[::-1] print(s13,s14) s15 = s[-1:5:-1] s16 = s[-3:2:-1] s17 = s[3:6] print(s15,s16,s17)
2.字符串操作
y = 'abcDEfg' y1 = y.capitalize() #首字母大写
print(y1) y2 = y.upper() #全大写 y3 = y.lower() #全小写 print(y2,y3) #请输入验证码,不区分大小写 str = 'QweR5' str1=input("请输入验证码:") if str.lower() == str1.lower(): print('输入正确') else: print('输入错误') #大小写反转 y = 'abcDEfg' y3 = y.swapcase() print(y3) #每个隔开(特殊字符或数字)的单词首字母大写 x = 'the only constant is change.' x1 = x.title() print(x1) z = 'the*only constant-is9change.' z1 = z.title() print(z1) #居中,填充 y4 = y.center(25) print(y4) y5 = y.center(25,'-') print(y5)
3.公共方法
y = 'abcDEfg' #统计元素总长度 y6 = len(y) print(y6) x ="唯一不变的就是变化" x2 = len(x) print(x2) #判断以什么为开头 y7 = y.startswith('abcD') y8 = y.startswith('bcd') print(y7,y8) #小实例 y = 'abcDEfg' y12 = y.startswith('abc') if y12: print("111") elif s.startswith('DE'): print("222") print(y12) #find 用过元素找索引,找不到返回 -1 y9 = y.find('E') print(y9,type(y9)) y10 = y.find('Ef') y11 = y.find('F') print(y10,y11) #默认删除开头结尾的空格 #strip 删除两端 #rstrip 从右向左 #lstrip 从左向右 x =" 唯 一 不 变 的 就 是 变 化 " x3 = x.strip() print(x3) #小实例 #name= input("请输入名字:").strip() #if name == '亦双弓': # print("%s,欢迎回来"%(name)) #删除指定字符 z='%the*onlyconstant-is9change.' z2 = z.strip('.') print(z2) z3 = z.strip('.%') print(z3) z4 = z.rstrip('.%') print(z4) z5 = z.lstrip('.%') print(z5) #统计某个字符的个数 z = 'the only constant is change.' z6 = z.count('on') print(z6) #split 分割,默认为空格(非常重要) str ---> list z7 = z.split() print(z7) zz = 'the:only:constant:is:change.' z8 = zz.split(":") print(z8)
4.format 的三种玩法 格式化输出
s = '我叫{},今年{},爱好{},再说一遍我叫{}'.format('亦双弓','16','play','亦双弓') print(s) s = '我叫{0},今年{1},爱好{2},再说一遍我叫{0}'.format('亦双弓',16,'play') print(s) s = '我叫{name},今年{age},爱好{hobby},再说一遍我叫{name}'.format(age=16,name='亦双弓',hobby='play') print(s)
5.replace 替换,is系列,for循环
#replace 默认是全局替换 str = '唯一不变的就是变化' str1 = str.replace('变','change') str2 = str.replace('变','change',1) print(str1,str2) ### is系列 name = '亦双弓123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串由字母组成 print(name.isdigit()) #字符串只有数字组成 # for循环 s="sdfsfsgkomioo" for i in s: print(i) ''' s='sjfk敏感词fdls' if '敏感词' in s: print ('输入中存在敏感词')