Как наследовать атрибут метода [python]

Я пытаюсь передать некоторые атрибуты из метода в родительском классе в метод в дочернем классе. И после этого я хочу использовать декоратор, который использует этот атрибут.

Предположим, у меня есть два класса и такой декоратор:

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_attr был установлен в 'value' в some_method_in_B. Этот атрибут должен быть доступен для my_decorator, Возможно ли это сделать?

Это то, что я должен был бы сделать для многих методов в классе B, поэтому было бы неплохо сделать это компактным способом.

0 ответов

Другие вопросы по тегам