首页 > 解决方案 > 类装饰器的方法和函数的装饰器

问题描述

假设我有一个装饰器,我想检索可调用对象并将其放在不同的方法中:

class Decorator:
    def __init__(self, callback):
         self.callback = callback
    
    def execute(self, arg):
        print("Decorating code")
        return self.callback(arg)

class Decorated:
    @Decorator
    def run(self, arg):
        print(arg)
        return arg

@Decorator
def run(arg):
    print(arg)
    return arg

如何编写装饰器以便它可以处理函数和方法?我知道我需要让它返回一个函数才能将其绑定到实例,但我的目标是将它转换为 Decorator 的实例,以便可以在不同部分的接口之后调用它的执行方法代码。

标签: pythonmethodsdecoratorcallable

解决方案


推荐阅读