您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

属于基类的Python装饰器不能用于装饰继承的类中的成员函数

属于基类的Python装饰器不能用于装饰继承的类中的成员函数

您需要做UpdateGUI一个@classmethod,并使自己wrapper意识到self一个工作示例:

class X(object):
    @classmethod
    def foo(cls, fun):
        def wrapper(self, *args, **kwargs):
            self.write(*args, **kwargs)
            return fun(self, *args, **kwargs)
        return wrapper

    def write(self, *args, **kwargs):
        print(args, kwargs)

class Y(X):
    @X.foo
    def bar(self, x):
        print("x:", x)

Y().bar(3)
# prints:
#   (3,) {}
#   x: 3
python 2022/1/1 18:43:46 有503人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶