十装饰器

Posted yyyyyyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十装饰器相关的知识,希望对你有一定的参考价值。

装饰器的功能就是在不改变原程序代码和不改变原程序函数的调用方式而为原程序增加功能。

闭包函数  内层函数对外层函数的变量的引用(不是全局变量)

闭包:当函数开始执行时,如果遇到了闭包,他有一个机制,
# 他会永远开辟一个内存空间,将必包中的变量等值放入其中,不会随着函数的执行完毕而消失

 

a = ‘yy‘
def func1(a):
    def inner():
        print(a)              
    inner()
    print(inner.__closure__)   这是判断是否为闭包函数的    这个函数为非闭包函数
fun()
#yy
none

 

a = ‘yy‘
def func1(a):
    a = ‘yy‘
    def inner():
        print(a)              
    inner()
    print(inner.__closure__)   这是判断是否为闭包函数的
fun()
#yy
(<cell at 0x000001D85FFE76D8: str object at 0x000001D860080D50>,)

  

 

装饰器

def wrapper(func1):
    def inner(*args,**kwargs):
        pass
        ret = func1(*args,**kwargs)
        return ret
    return inner
@wrapper
def func1(a,b,c,d):   参数可以任意设置
    pass

  

以上是关于十装饰器的主要内容,如果未能解决你的问题,请参考以下文章

十python开发之装饰器

十Decorator 装饰器模式

十装饰器

学习python课程第十二天

学习python的第十五天(函数的装饰器,两层装饰器和三层装饰器)

十装饰器进阶