一、数据类型
1.数字int型
主要进行计算
bit_length() 当十进制用二进制表示时,最少使用的位数
a = 13
b = a.bit_length()
print (b)
2.布尔值bool
布尔值有两种:True , False. 用于反应条件的正确与否
True 1
False 0
转换
int-->>str int加‘’就是字符型
int-->>bool o为False,其他都是False
str-->>bool 空字符都是False ,其他都是True
name = ''
while name:
print('输入正常')
else:
print('输入不正常')
3.字符串str
字符串是有顺序的,索引即下标,就是字符串组成的元素从第一个开始,初始索引为0,以此类推
1.索引与切片
索引
a1 = '爱老虎油haha'
print (a1[0])
print (a1[1])
print (a1[2])
print(a1[-1])
s1 = a1[3]
print (s1)
切片 : 顾头不顾尾
a1 = '爱老虎油haha'
s2 = a1[0:2]
s3 = a1[:2]#0可以省略
s4 = a1[:]
print (s2)
print (s3)
print (s4)
步长 :跳着切 s[起始索引:截至索引:步长](不加步长默认为1)
s5 = a1[0: 6: 2]
print (s5) s6 = a1[-1:-5:-1]#反向步长
print (s6)
反向步长
a1 = '爱老虎油haha'
s6 = a1[-1::-1]#反向步长 ahah油虎老爱
s61 = a1[::-1]#反向步长 ahah油虎老爱
print (s6)
print (s61)
2.str常用操作
capitaliz首字母大写,其他字母小写
s = 'abC Defg hiG klm'
s7 = s.capitalize() print (s7)
upper全部大写,lower全部小写
s = 'abC Defg hiG klm'
s8 = s.upper()
s9 = s.lower()
print(s8)
print(s9)
#验证码不区分大小写案例
code = 'aeRT'
you_code = input('请输入你的验证码:')
if you_code.upper()== code.upper():
print ('验证成功')
else:
print ('验证失败') #或者 code = ('aeRT').upper()
you_code = input('请输入你的验证码:').upper()
if you_code== code:
print ('验证成功')
else:
print ('验证失败')
center居中
s = '爱老虎油haha'
s10 = s.center(5,'*')#星号*不填充的话,默认填充空格
print (s10) #长度小于字符串长度,不填充
s11 = s.center(20,'*')
print (s11) #******爱老虎油haha******
swapcse大小写反转
s = 'abC Defg hiG klm'
s12 = s.swapcase()
print (s12)
title每个单词的首字母大写(非字母的符号隔开)
s = 'abC Defg*hiG,klm'
print(s13)
starswith判断以什么开头,endswith以什么结尾
s = 'abC Defg*hiG,klm' s15 = s.startswith('a')
print (s15) s16 = s.startswith('abC',0)#0表示从第几个下标开始检测
print (s16)
去除首位的空格,换行符,tab strip
去除左边的空格,换行符,tab Lstrip
去除右边的空格,换行符,tab rstrip
s = '\n ailaohuyou\t' print (s.strip()) print (s.lstrip())
print (s.rstrip())
name = input('请输入你的用户名').strip()
if name == 'laohu':
print ('恭喜') #也可去除两边的其他元素
ss = 'laohuyou'
print (ss.lstrip('ai'))
find,index通过元素找索引
ss = 'laohuyou' print (ss.find('u'))
print (ss.find('u',3))表示从下标为三的开始查找
print (ss.index('l'))
print (ss.find('u'))#找不到返回-1
print (ss.index('u'))#找不到报错
count 寻找元素出现的个数 可切片
ss = 'laohuyou' print (ss.count('u'))
print (ss.count('ao',0,4))#切片
replace 替换
ss = 'laohuyoulao'
s16 = ss.replace('lao','xiao')#默认全部替换
s17 = ss.replace('lao','xiao',1)
print (s16)
print (s17)
split 分割str-->>list
ss = ' lao h uyou lao ' print (ss.split())#默认以空格划分 ss1 = ',ai,lao,hu,you,'
print(ss.split(',')) ss2 = 'ailaoahuayou' print(ss2.split('a',2))#不写2,默认全部替换,2代表分割次数
format格式化输出
第一种方法
s = '我叫{},今年{},爱好{}'.format('MT',18, 'niu')
print (s)
第二种方法
ss = '我叫{0},今年{0},爱好{2}'.format('mt',18, 'niu')
print (ss)
第三种方法 键值对
sss = '我叫{name},今年{age},喜欢{hobby}'.format(name= 'mt' ,age=18,hobby= 'nui' ) print(sss)
判断is
name = '123aa'
print (name.isalnum())#字符串由字母或数字组成
print (name.isalpha())#字符串只由字母组成
print (name.isdigit())#字符串只由数字组成 name = '123'
if name.isdigit():
name = int(name)
print (name,type(name))
else:
print('您输入的有非数字元素')
len计算字符串长度
s = 'fdsakjliavn'
print (len(s))