二、具体内容
1.基础数据类型总览
- 123456 456 --- int
- 'sdfghji家' --- str 存储少量的数据
- Ture False --- bool 判断真假
- ['asdf','wer',[wer]] --- list 存储大量的数据
- (12,'sd',true) --- tuple 存储大量的数据,不可改变里面的元素
- {'nam':'chen'} --- dict 存储大量的数据,查询速度非常快
- set 交集,并集,差集
2.int
-
十进制转二进制
-
''' 0000 1010 ''' b = 2**1+2**3
-
bit_length 十进制转化成二进制的有效长度
-
# 数值1 对应的二进制是1,长度一位,所以返回结果是1 age = 1 v = age.bit_length() print(v) # 数值2 对应的二进制是10,长度2位,所以返回的结果是2 age = 2 v = age.bit_length() print(v) # 数值3 对应的二进制是11,长度两位,所以返回的结果是2 i = 3 print(i.bit_length()) # 数值4 对应的二进制是100,长度3位,所以返回的结果是3 i = 4 print(i.bit_length()) # 数值5 对应的二进制是101,长度3位,所以返回的结果是3 age = 5 v = age.bit_length() print(v)
3.bool
-
bool、str、int三者之间的转换
-
# str <---> int s1 =10 int(s1) #必须是数字组成 i =100 str(i) #非空即为True;空为Flase #bool <---> int True 1;Flase 0 #非零即True;0是False
应用
-
s = input('输入内容') if s: print('有内容') else: print('没有输入任何内容')
4.str
-
索引切片步长
-
对字符串进行索引,切片出来的数据都是字符串类型
-
按照索引取值
-
从左至右有顺序,下标,索引
-
顾头不顾尾
s1 = '上有天堂,下有苏杭' s2 = s1[0] print(s2,type(s2)) s3 = s1[-1] s4 = s1[0:6] s4 = s1[:6] s5 = s1[6:] s6 = s1[:5:2] s7 = s1[:] s8 = s1[-1:-6:-1] #按索引:s[index] #按照切片:s[start_index:end_index+1] #按照切片步长:s[start_index:end_index+1:2] #反向按照切片步长:s[start_index:end_index后延一位:-2]
-
字符串的常用操作方法:
-
upper lower
-
#不会对原字符串进行任何操作,都是产生一个新的字符串 s = 'taiJGDS' s1 = s.upper() s2 = s.lower() #应用: username = input('用户名:') password = input('密码:') code = 'AedD' yourcode = input('验证码:不区分大小写') if yourcode.upper() == code.upper(): if(username == 'alex' and password == '123'): print('登录成功') else: print('用户名或密码错误') else: print('验证码输入错误')
-
startwish endswith 判断以什么开头或结尾
-
print(s.startwish('t'))#True print(s.startwish('taia'))#False print(s.startwish('A',3,5))#判断A是从索引3开始到索引5结束的字符串
-
replace替换
msg = 'Bob很厉害,Bob是老男孩教育的创始人之一,Bob很帅' msg1 = msg.replace('Bob','Test') #默认全部替换 msg2 = msg.replace('Bob','Test',2)#替换前两个
-
strip去掉空白
s = ' er ' s1 = s.strip() #可以去掉指定的字符 s2 = '123asdf432' s3 = s2.strip('123432') #前后同时去判断,遇到非,就停止 print(s3)
-
split分割
-
默认按照空格分割,返回一个列表
-
可以指定分隔符
#str--->list s = 'Test alex Test1' s1 = s.split() #['Test','alex','Test1'] s2 = 'Test:alex:Test1' s3 = s2.split(':') #['Test','alex','Test1'] s4 = ':barry:nvshen:wu' s5 = s4.split(':',2) #只按前两个:分割
-
-
join
-
将字符串或列表有序的加入某个字符,此时列表里面的元素必须全部是字符串
-
s = 'alex' s1 = '+'.join(s) #a+1+e+x s2 = ['Test','alex','Test1'] s3 = ','.join(s2) #Test,alex,Test1
-
-
count 找出字符串中某字符出现的个数
s = 'asdfsgrreshdas' s1 = s.count('s')
-
format格式化输出
#第一种用法 msg = '我叫{}今年{}性别{}'.format('大壮','18','男') #我叫大壮今年18性别男 #第二种用法 +索引 msg1 = '我叫{0}今年{1}性别{2},我还叫{0}'.format('大壮','18','男') #我叫大壮今年18性别男,我还叫大壮 #第三种用法 mag2 = '我叫{name}今年{age}性别{sex}'.format(name='大壮',age='18',sex='男') #我叫大壮今年18性别男
-
is系列
name = 'asdf2334' print(name.isalnum()) #判断字符串是否由字母,数字,中文组成 print(name.isalpha()) #判断字符串是否只由字母,中文组成 print(name.isdecimal()) #判断字符串是否只由十进制组成 #应用 num = input('请输入金额') if num.isdecimal: print(int(num)) else: print('输入有误')
-
in, not in
s = '天气之子tian' print('天' in s) #True print('天t' in s) #Flase print('天t' not in s) #True
-
5.for 循环
- len() 字符串的长度
s1 = '高晓松的小说带你穿越古今,游历世界'
index = 0
while index < len(s1):
print(s1[index])
index += 1
#for循环
for i in s1:
print(i)
for i in s1:
if 1 == '今':
break
print(1)
else:
print(666)
#break continue
#for else 与 while else 用法一致