码迷,mamicode.com
首页 > 其他好文 > 详细

9.23闭包函数/装饰器/迭代器/生成器

时间:2019-09-23 19:48:28      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:生成   __next__   语法糖   war   可迭代对象   int   改变   __iter__   app   

闭包函数

闭包函数把闭包函数内部的变量和闭包函数内部的函数两者包裹在一起,然后以返回值的形式返回出来.
闭包函数至少也得符合函数嵌套
例:f1就叫闭包函数

def f1(x):
    def f2():
        print(x)
    return f2

装饰器

给函数增加功能的函数
1.装饰器本身是函数,只不过它用来装饰被装饰的函数
2.装饰器装饰函数,不改变被装饰函数的源代码
3.装饰器装饰函数,不改变被装饰函数的调用方式

装饰器语法糖

就是让代码更简洁
@login_deco就代替了index = login_deco(index)

装饰器模版

def deco(func):
    def wwrapper(*args,**kwargs):
        #要加什么功能 加什么
        res = func(*args,**kwargs)
        return res
    return wrapper

迭代器

可迭代对象: 含有__iter__方法的就叫做可迭代对象
迭代器:含有__iter__和__next__方法的就叫做迭代器

生成器

含有yield关键字的函数就叫做生成器

9.23闭包函数/装饰器/迭代器/生成器

标签:生成   __next__   语法糖   war   可迭代对象   int   改变   __iter__   app   

原文地址:https://www.cnblogs.com/793564949liu/p/11574250.html

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