![image]()
重要函数内置方法
1.abs() 数字的绝对值
2.all() 所有数据内只要有一个为False就为False
any() 只要数据中有一个True为就返回True
3.ascii () 功能局限
4.bin() 进制转换 十进制转二进制
oct() 进制转换 十进制转八进制
hex() 进制转换 十进制转十六进制
int() 进制和类型转换 其他进制转十进制或者其他类型数据转字符串
bool() 布尔值
bytes () 类型转换
dict() 字典
5.res = bytes ('你好','utf8')
print(res)
res = bytes ('你好','utf8')
print(res) # 直接打印编码后的二进制
print(str(res,'utf8')) # 将二进制转为字符串
6.callable() # 判断是否用调用功能
name = 'jason'
print(callable(name)) #不可以加括号调用
def index():pass
print(callable(index)) # 可以调用
7.chr(数字) ord(字符) 依据ASCII表实现字符与数字的转换
print(chr(65)) # A
print(ord('A')) # 65
8.dir() 通过句点符可以获取到数据类型的所有内置方法
9.divmod() 获取除法之后的整数与余数
reamun,move = divmod(991,10) # 将999除以10 取整数99然后余下1(99,1)赋值前面变量
if move: # 等于0 就执行加的操作直接打印整数
reamun += 1
print('总页数%s页'%reamun)
10.enumerate()# 枚举
name_list = ['jason','tony','jrrey','kiven'] #
#需求循环打印出数据值与索引位置
count = 0
for i in name_list:
print(count , i)
count += 1
for i , j in enumerate(name_list, 可添加参数): #循环获取数据值和索引值然后解压赋值给变量 ,参数里可自定义开始位置
print(i,j)
11.eval() exec()
res = 'print(123)'
eval(res) 可以识别字符中的代码并执行
exec() 识别复杂的
name = 'jason'
print(eval('name'))
12.help() 查看帮助信息
13.isinstance() 判断某个数据是否属于某个数据类型
print(isinstance(1,str)) #False
print(isinstance('你好',str)) #True
13.map() max() min()
14.pow() 数字的几次方
可迭代对象
1.迭代本质
迭代就是更新换代 每次迭代都需要基于上一次的
# 不属于迭代,每次执行不需要根据上一次的结果
while True:
print('123')
# 属于迭代 每次执行基于上一次的执行结果执行
conut = 0
while conut < 10:
conut += 1
print(conut)
2.判读啊可迭代对象
'''内置有__iter__方法的都叫可迭代对象
内置:通过句点符可以点出来的都叫内置
__next__读作双下某某 读作杠杆跟土鳖一样
'''
3.可迭代对象:
str list dict tuple set 文件
不可迭代对象:
int float bool 函数名
'''可迭代对象能够支持for循环取值'''
迭代器对象
'''迭代器对象给我们提供了一种不依赖于索引取值的方式
因为有迭代器对象存在可以才可以对无序的数据循环取值
'''
1.如何判断迭代器对象
内置方法有iter和next的称为迭代器对象
2.可迭代对象调用iter()方法后就会变成迭代器对象
3.不使用for循环依次取出
l1 = [1,2,3,4,5]
res = l1.__iter__() # 将可迭代对象转为迭代器对象
count = 0
while count < len(l1): #循环次数需要小于数据个数
print(res.__next__()) # 迭代取值
count += 1
4.区分可迭代对象与迭代器对象
l1 = [1,2,3,4,5]
l1 = [1,2,3,4,5] # 可迭代对象
print(l1.__iter__().__next__()) # 将可迭代对象转成迭代器对象然后调用取值
print(l1.__iter__().__next__()) #还是将可迭代对象转换 生成新的迭代器 从头开始取值
print(l1.__iter__().__next__())
print(l1.__iter__().__next__())
print(l1.__iter__().__next__())
res = l1.__iter__() #迭代器对象
print(res.__iter__().__next__()) # 迭代器对象调用iter后还是自身,调用取值取一个
print(res.__iter__().__next__()) # 迭代器是自身再次调用取值 会迭代取值取完一个取下一个
print(res.__iter__().__next__())
print(res.__iter__().__next__())
print(res.__iter__().__next__())
5.双下方法可以简写
__iter__ iter()
__next__ next()
6.迭代器对象提供一个不依赖索引取值方式,可迭代对象迭代器对象通过打印无法直接看出内部的情况,可以节省内存、
相当于一个工厂, 要一个数据就造一个数据
print(range(10)) # (0,10) python3
print(range(10)) #[1,2,3,4,5,6,7,8,9,]
使用双下iter就看不出具体内容
for循环的本质
语法结构
for 变量名 in 可迭代对象:
for 循环体代码
for自动将in后面的可迭代对象调用双下iter变成迭代器对象
之后每次循环调用next取值
最后没有值会报错for会自动处理改错误,循环正常结束