python三大器
Posted bin-y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python三大器相关的知识,希望对你有一定的参考价值。
1.生成器
1.带yield就是生成器,因为生成器是用yield返回结果,而不是return。
2.列表有列表推导式,生成器当然也有生成器表达式。如:(for i in range(10)) 是小括号就是生成器,中括号就是列表推导式
生成器返回按需产生结果的一个对象,而不是一次构建一个结果列表
本质: 迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现)
2.迭代器
字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的。
l = [1,2,3,4] l_iter = l.__iter__() l_iter 就是一个迭代器
迭代器遵循迭代器协议:必须拥有__iter__方法和__next__方法。
3.装饰器
import time def timer(func): def inner(): start = time.time() func() print(time.time() - start) return inner @timer #==> func1 = timer(func1) def func1(): print(‘in func1‘) func1()
装饰器其实就是一个媒介的作用,执行的时候需要把函数传到里面执行
以上是关于python三大器的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段