装饰器@decorator理解(需补充.....)

Posted

tags:

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

def w1(fun):
    def inner1(arg):
        print("h")
        return fun(arg)

    return inner1


@w1
def w(arg):
    print(ello)

w()

理解:1、代码从上到下执行,将w1放内存,然后遇到了@w1

     2、@w1就会把w函数,当作参数放入w1中,既:fun = w,就会执行w1函数

     3、执行w1函数时,将inner1放内存,并且返回一个inner1函数名给w 既然 w = inner1

         4、此时w()函数仍然存在,与其同名的w变量(既inner1)指向新的函数inner1()

   5、继续往下执行,当遇到w()时,先执行新的w()函数(既inner()函数),打印出h

     6、在调用原始函数,打印ello

以上是关于装饰器@decorator理解(需补充.....)的主要内容,如果未能解决你的问题,请参考以下文章

关于python装饰器(Decorators)最底层理解的一句话

一文读懂 @Decorator 装饰器——理解 VS Code 源码的基础

python-闭包和装饰器-02-装饰器(decorator)

python-闭包和装饰器-02-装饰器(decorator)

对Python中装饰器(Decorator)的理解与进阶

python补充学习.装饰器