更一般一些:
def composed(*decs):
def deco(f):
for dec in reversed(decs):
f = dec(f)
return f
return deco
然后
@composed(dec1, dec2)
def some(f):
pass
相当于
@dec1
@dec2
def some(f):
pass
我可以在Python中将两个装饰器组合为一个吗?
更一般一些:
def composed(*decs):
def deco(f):
for dec in reversed(decs):
f = dec(f)
return f
return deco
然后
@composed(dec1, dec2)
def some(f):
pass
相当于
@dec1
@dec2
def some(f):
pass