类方法中的类装饰器
在 python 中,可否将类方法作为类方法中的装饰器?
问题:
如何使用类 a 的方法 b 作为装饰器,并在方法 b 中使用类 a?
立即学习“Python免费学习笔记(深入)”;
解决方案:
有两种方法可实现此功能:
方法 1:静态方法
将方法 fun_a 定义为静态方法,并使用该静态方法作为装饰器,示例如下:
class a: @staticmethod def fun_a(func): ... @fun_a def fun_b(self): ...
方法 2:外部装饰器
将方法 fun_a 定义为一个装饰器函数,并在类的外部使用该装饰器对方法 fun_b 进行装饰,示例如下:
def fun_A(func): ... class A: @fun_A def fun_B(self): ...