2020
09-29
09-29
Python多个装饰器的调用顺序实例解析
一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器。多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则)样例:deffunc1(func):print(1)definner1(*args,**kwargs):print(2)res=func(*args,**kwargs)print(3)returnresprint(4)returninnerdeffunc2(func):print(5)definner2(*args,**kwargs):print(6)res=func(*args,...
继续阅读 >
我的Python环境:3.7在Python类里声明一个装饰器,并在这个类里调用这个装饰器。代码如下:classTest():xx=Falsedef__init__(self):passdeftest(func):defwrapper(self,*args,**kwargs):print(self.xx)returnfunc(self,*args,**kwargs)returnwrapper@testdeftest_a(self,a,b):print(f'ok,{a}{b}')注意:1.其中装饰器test是在类Test中声明并在其方法test_a中调用2.装...