我试图将父类中的方法的某些属性传递给子类中的方法。之后,我希望使用一个使用该属性的装饰器。
假设我有两个类和这样的装饰器:
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类中的许多方法做的事情,所以以紧凑的方式做它会很好。