一. int
1.用法
int 主要用于计算 = - * /
不同进制之间的转换。10进制,2进制
‘’’
二进制转换为10进制
0001 1010 —> ?
‘’’
b = 0 * 2 ** 7+ 0 * 2 ** 6+ 0 * 2 ** 5 + 1 * 2 ** 4 + 1* 2**3 + 0 * 2 ** 2 + 1 * 2 **1 + 0 * 2 ** 0
print(b) #26
‘’’
42 —> 0010 1010
‘’’
2. bit_lenth # 有效二进制的长度
i = 4
print(i.bit_length()) #3
i = 5
print(i.bit_length())#3
i = 10
print(i.bit_length())#4
i = 45
print(i.bit_length())#6
二.bool str int
1.bool <—> int
‘’’
True 1 False 0
非零即True 0 是False
‘’’
2.str <–> int
‘’‘s1 = 10 int(s1):必须是数字组成
i = 100 str(i):
‘’’
3.str <–> bool
非空即True
s1 = ' ' #空格(特殊字符)
print(bool(s1))
4.bool --> str 无意义
print(str(True)) #输出仅为字符串True ,并不是bool值True
三.for 循环
1. for 循环
s1 = ‘老男孩教育最好的讲师:太白’
‘’’
老 s1[0]
男 s1[1]
孩 s1[2]
教 s1[3]
教 s1[4]
育 s1[5]
最 s1[6]
…
‘’’
s1 = '老男孩edu'
print('老' in s1)# True
print('老男' in s1)# True
print('老ed' in s1) # False # 当做了整体
print('老ed' not in s1) # True
2.for 循环(有限循环)
iterable 可迭代对象 (字符串也是)
‘’’
for 变量 in iterable # 格式
‘’’
s1 = '老男孩教育最好的讲师:太白'
for i in s1:
print(i)
3.len() # 内置函数 获取可迭代对象的元素总个数
s1 = '老男孩教育最好的讲师:太白'
index = 0
while index < 13:
print(s1[index])
index += 1
s1 = '老男孩教育最好的讲师:太白'
index = 0
while index < len(s1):
print(s1[index])
index += 1
上面两行代码的结果都如下
4.break # (循环遇到break直接退出循环) continue # (退出本次循环开始下次循环)
for else : whilr else (两者用法一样) [(一对组合) while(for)如果循环正常结束else就会执行如果被break结束则不执行else]
s1 = '老男孩教育最好的讲师:太白'
for i in s1:
print(i)
if i == '好':
break
四.str
1.索引
对字符串进行的索引,切片出来的数据都是字符串类型。
1.按照索引取值
2.从左至右有顺序,有下标,即索引。
s1 = 'python全栈22期'
s2 = s1[0]
print(s2,type(s2))
s1 = 'python全栈22期'
s3 = s1[2]
print(s3)
s1 = 'python全栈22期'
s4 = s1[-1]
print(s4)
2.切片
**按照切片取值。**
**顾头不顾尾**
s1 = 'python全栈22期'
s5 =s1[0:6] # s5 = s1[:6]#0可省去不写
print(s5)
s1 = 'python全栈22期'
s6 = s1[6:-1]
s7= s1[6:]
s8 = s1[6:-2]
print(s6)
print(s7)
print(s8)
(1).切片步长
s1 = 'python全栈22期'
s7 = s1[:5:2] #2为步长
print(s7)#pto
3.倒叙
s1 = 'python全栈22期'
print(s1[:]) # 全取
s9 = s1[-1:-5:-1] # s = s1[-1:-5] 不显示了但不会报错
print(s9)
索引总结
** 按索引取 : s1[index]#索引
按照切片取 : s1[start_index:end_index + 1] #首索引 : 尾索引
按照切片取步长 : s1[start_index:end_index + 1:2] ##首索引 : 尾索引 : 步长
反向按照切片取步长 : s1[start_index:end_index后延一位:2] ##首索引 : 尾索引 : 步长**
s = "123a4b5c"
s1 = s[:3]
print(s1)
s = "123a4b5c"
s2 = s[3:6]
print(s2)
s = "123a4b5c"
s3 = s[:7:2]
print(s3)
s = "123a4b5c"
s4 = s[1:7:2]
print(s4)
s = "123a4b5c"
s5 = s[-1]
print(s5)
s = "123a4b5c"
s6 = s[-3:-8:-2] #ba2
print(s6)
五.str的常用操作
1.upper lower 大写 小写
产生一个新字符不会对原字符产生影响
s = 'taiBai中国'
s1 = s.upper()
s2 = s.lower()
print(s)
print(s1,type())
print(s2,type())
应用:
username = input('用户名')
password = input('密码')
code = 'QweA'
print(code)
your_code = input('请输入验证码:不区分大小写')
if your_code.upper() == code.upper():
if username == '朱昊恒' and password == 'q1w2e3':
print('登陆成功')
else:
print('用户名或密码错误')
else:
print('验证码错误'
2.stratwith endwith 以什么开始 以什么结束 返回的是bool值
s = 'taibai'
print(s.startswith('t'),s.endswith('i'))
print(s.startswith('ta'),s.endswith('i'))
print(s.startswith('taibai'),s.endswith('i'))
了解
s = 'taibais'
print(s.startswith('b',3,6)) #bai 是否以b开头 在[3:6]
3.替换 replace
msg = 'alex很nb,alex是老男孩学院的创使人之,一alex很帅'
msg1 = msg.replace('alex','太白',2) #默认全部替换
print(msg1)
print(msg)
4.strip: 默认去除字符串两边的 空白, \t(水平制表符) \n (换行符)
s4 = ' \n太白\t'
print(s4)
s5 = s4.strip()
print(s5)
了解
还可取出指定字符
s4 = 'rre太白qsd'
s6 = s4.strip('reqsd')#头尾两边同时开始去除
print(s6)
s4 = 'rre太r白qsd'
s6 = s4.strip('reqsd')
print(s6) #太r白 #中间无法去掉
5.split ************重点 (切割)
默认按照空格分开,返回一个列表
指定分隔符
将str -->list
s7 = '太白 女神 吴迪'
l = s7.split()
print(l) #['太白', '女神', '吴迪']
s7 = '太白 女神 吴迪'
l = s7.split(':') #指定分隔符
print(l)
了解
s6 = ':barry:nvshen:wu'
print(s6.split(':'))
6.join 连接 还可以将字符串转化为列表 **
s1 = 'alex'
s2 = '+'.join(s1) #join(self,__iterable) #iterable 可迭代的 这个数据有多个元素组成
print(s2)#a+l+e+x
前提列表里的元素必须都是str类型
l1 = ['太白','女神','吴超']
s3 = ':'.join(l1)
print(s3,type(s3))
l1 = ['太白','女神','3']
s3 = ':'.join(l1)
print(s3,type(s3))
l1 = ['太白','女神',3]
s3 = ':'.join(l1)
print(s3,type(s3))
7.count 计数 数出某个元素出现的次数
s8 = 'sdsfgcbchjxvxvdadakjsdskjdbckjvhgajhsd'
print(s8.count('a'))
8.format: 格式化输出
第一种
msg = '我叫{}今年{}性别{}'.format('大壮','25','男')
print(msg)
第二种
msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('大壮','25','男')
print(msg)
第三种
a = 100
msg = '我叫{name}今年{age}性别{sex}'.format(age = a,name = '大壮',sex = '男')
print(msg)
9.is 系列
1.isalnum() #字符串有数字或字母组成
2.isalpha() # 字符串只由字母组成
3.isdecimal() #字符串只由十进制组成
name = 'taibai12'
print(name.isalnum()) #字符串有数字或字母组成
print(name.isalpha()) # 字符串只由字母组成
print(name.isdecimal()) #字符串只由十进制组成
s1 = input('请输入您的金额')
if s1.isdecimal():
print(int(s1))
else:
print('输入有误')