闭包,装饰器

闭包

出现在嵌套函数中,指的是内层函数引用到了外层函数的本地变量,对内层函数来说就形成了闭包.

  • 外层函数嵌套内层函数

  • 内层函数调用了外层函数的本地变量

  • 外层函数的返回值是内层函数的引用

一般来说,一个函数结束,函数的内部数据会被释放,还给内存,本地变量都会消失,闭包产生的时候,外函数发现自己的本地变量会被内部变量使用,就把这个本地变量绑定给内部函数,然后自己结束

装饰器

  • 装饰器本质是一个给其他函数增强功能的嵌套函数

  • 不需要改变源代码

  • 不改变原函数的调用方式

可使用在被装饰函数上一行使用@装饰器的方式 简化调用

三层装饰器

def 传入参数:
    def 调用被装饰函数:
        def 实现具体功能
posted @ 2019-09-23 19:30  Agsol  阅读(103)  评论(0编辑  收藏  举报