您需要使装饰器成为描述符-通过确保其(元)类具有一个
__get__方法,或者通过使用装饰器 函数 而不是装饰器 类 来
简化(因为函数已经是描述符)。例如:
def dec_check(f): def deco(self): print 'In deco' f(self) return decoclass bar(object): @dec_check def foo(self): print 'in bar.foo'b = bar()b.foo()
此打印
In decoin bar.foo
如预期的。



