闭包,装饰器

闭包

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

  • 外层函数嵌套内层函数

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

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

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

装饰器

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

  • 不需要改变源代码

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

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

三层装饰器

def 传入参数:
    def 调用被装饰函数:
        def 实现具体功能
原文地址:https://www.cnblogs.com/agsol/p/11574228.html