装饰器@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)