码迷,mamicode.com
首页 > 编程语言 > 详细

python三大器

时间:2019-05-31 21:32:17      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:也有   推导   next   __iter__   imp   列表、元组、字典   func   for循环   color   

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三大器

标签:也有   推导   next   __iter__   imp   列表、元组、字典   func   for循环   color   

原文地址:https://www.cnblogs.com/Bin-y/p/10957480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!