1. 方法装饰器
def f1(fun): print("1") def _f1(): print("2") fun() print("3") print("4") return _f1 @f1 def f2(): print("5") f2() ''' 执行结果: 1 4 2 5 3 ''' 2. 类中方法使用装饰器
def f1(fun): print("1") def wrapper(self,*args,**kwargs): print("2") fun(self,*args,**kwargs) print("3") print("4") return wrapper class test: def __init__(self): pass def revive(self): print("revice from exception") @f1 def f2(self,name,value="10086"): print("5"+name+value) obj = test() obj.f2("this param",value="10010")1
4
2
5this param10010
3