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 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

Python - 三大器 迭代器,生层器,装饰器

python三大器之迭代器

Python三大器之迭代器

python三大器之装饰器的练习

Python三大器之生成器