今日内容
1.重要内置函数
2.常见内置函数
3.可迭代对象
4.迭代器对象
5.for循环的本质
6.异常捕获/处理
1.重要内置函数
zip
l1 = [11,22,33,44,55]
l2 = ['jason','kevin','oscar','jerry','tony']
l3 = [1,2,3,4,5,]
res = zip(l1,l2,l3)
print(list(res))
#[(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3), (44, 'jerry', 4), (55, 'tony', 5)]
l1 = [11,22,33]
l2 = ['jason','kevin','oscar','jerry','tony']
l3 = [1,2,3,4]
res = zip(l1,l2,l3)
print(list(res))
#[(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3)]
filter
l1 = [11,22,33,44,55,66,77,88]
res = filter(lambda x: x>40,l1)
print(list(res))
#[44, 55, 66, 77, 88]
sorted
l1 = [21,12,53,64,76,32,11,22]
res = sorted(l1)
print(res) 默认升序
#[11, 12, 21, 22, 32, 53, 64, 76]
2.常见内置函数
1.abs() 绝对值
print(abs(-100))
print(abs(100))
2.all() 所有数据值对应的布尔值为True结果就是True,否则返回True
print(all([0,1,2,3]))
print(all([1,2,3,4,true]))
3.any() 所有数据值对应的布尔值有一个为True结果就是True,否则返回False
print(any([0,None,'',1]))
print(any([0,None,'']))
4.bin()转二进制 oct()转八进制 hex()转十六进制 int()整型
5.bytes() 转换成bytes类型
6.callable()判断名字是否可以加括号调用
name = 'jason'
def index():
print('from index')
print(callable(name)) false
print(callable(name)) True
7.chr() ord() 基于ASCII码表做数字与字母的转换
print(chr(65)) A
print(ord('A')) 65
8.dir() 返回括号内对象能够调用的名字
print(dir('hello'))
9.divmod() 元组 第一个数据为整除数 第二个是余数
res = divmod(100, 2)
print(res) (50, 0)
res = divmod(100, 3)
print(res)
"""
总数据 每页展示的数据 总页码
100 10 10
99 10 10
101 10 11
"""
page_num, more = divmod(9999, 20)
print(divmod(99, 10)) (9, 9)
if more:
page_num += 1
print('总页码为:', page_num) 总页码为: 500
10.enumerate() 枚举
11.eval() exec() 能够识别字符串中的python并执行
s1 = 'print("哈哈哈")'
eval(s1)
exec(s1)
s2 = 'for i in range(100):print(i)'
eval(s2) 只能识别简单的python代码 具有逻辑性的都不行
exec(s2) 可以识别具有一定逻辑性的python代码
12.hash() 哈希加密
print(hash('jason'))
13.id() input() isinstance()
14.map() max() min()
15.open()
16.pow() 幂指数(次方)
print(pow(2, 2))
print(pow(2, 3))
print(pow(2, 4))
17.range()
18.round() 四舍五入
print(round(98.3))
print(round(98.6))
19.sum()
print(sum([11, 22, 33, 44, 55, 66]))
20.zip()
3.可迭代对象
1.可迭代对象
对象内置有__iter__方法的都称为可迭代对象
1.内置有 通过点的方式能够调用的方法
2.__iter__ 双下iter方法
2.可迭代对象的范围
不可迭代对象
int float bool 函数对象
是可迭代对象
str list dict tuple set 文件对象
3.可迭代的含义
迭代:更新换代(每次更新都必须依赖上一次的结果)
eg:手机app更新
可迭代在python中可以了解为是否支持for循环
4.迭代器对象
1.迭代器对象
是由可迭代对象调用__iter__方法产生的
迭代器对象判断的本质是看是否内置有__iter__和__next__
2.迭代器对象的作用
提供了一种不依赖于索引取值的方式
正因为有迭代器的存在,我们的字典集合才能够被for循环
3.迭代器对象实操
s1 = 'hello' 可迭代对象
res = s1.__iter__() 迭代器对象
print(res.__next__())迭代取值
一旦__next__取不到值,会直接报错
4.注意事项
可迭代对象调用__iter__会成为迭代器对象,迭代器对象如果还调用__iter__不会有任何变化,还是迭代器对象本身
5.for循环的本质
for 变量名 in 可迭代对象:
循环体代码
1.先将in后面的数据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值报错,for循环会自动捕获并处理
6.异常捕获/处理
1.异常就是代码运行报错,行业俗语叫bug
代码运行中一旦遇到异常会直接结束整个程序的运行,我们在编写代码的过程中要尽可能避免
2.异常分类
语法错误 不允许出现,一旦出现立刻改正,否则提桶跑路
逻辑错误 允许出现的,因为它一眼发现不了,代码运行之后才可能出现
3.异常结构
错误位置
错误类型
错误详情
标签:__,11,迭代,对象,res,print,10.14
From: https://www.cnblogs.com/yueq43/p/16792940.html