PHP前端开发

Python 类方法装饰器:如何使用类 A 的方法作为装饰器并访问类 A?

百变鹏仔 5天前 #Python
文章标签 方法

类方法中的类装饰器

在 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):        ...