如何继承方法属性[python]

时间:2016-07-09 19:29:40

标签: python inheritance attributes python-decorators

我试图将父类中的方法的某些属性传递给子类中的方法。之后,我希望使用一个使用该属性的装饰器。

假设我有两个类和这样的装饰器:

def my_decorator(fun):
    inner(*args, **kwargs):
        if fun.some_attr == 'value':
            out = fun(*args, **kwargs)
        else:
            out = None
        return out
     return inner

class A:
    def some_method_in_A(self):
        return 1
    some_method_in_A.some_attr = 'value'

class B(A):
    @my_decorator
    def some_method_in_B(self):
        super(B, self).some_method_in_A()

我想要的是在some_method_in_B中将some_attr设置为'value'。此属性必须可用于my_decorator。 有可能吗?

这是我必须为B类中的许多方法做的事情,所以以紧凑的方式做它会很好。

0 个答案:

没有答案