Добавление Pythonic реализации. Предполагая, что вы хотите передать все атрибуты, вы можете использовать код ниже. (Можно также сохранить / удалить определенные ключи kwargs, если вы хотите подмножество).
я есть базовый класс с большим__init__
аргументы:
def BaseClass(object):
def __init__(self, a, b, c, d, e, f, ...):
self._a=a+b
self._b=b if b else a
...
Все наследующие классы должны работать__init__
метод базового класса.
Я могу написать__init__()
метод в каждом из наследующих классов, который будет вызывать суперкласс__init__
, но это было бы серьезным дублированием кода:
def A(BaseClass):
def __init__(self, a, b, c, d, e, f, ...):
super(A, self).__init__(a, b, c, d, e, f, ...)
def B(BaseClass):
def __init__(self, a, b, c, d, e, f, ...):
super(A, self).__init__(a, b, c, d, e, f, ...)
def C(BaseClass):
def __init__(self, a, b, c, d, e, f, ...):
super(A, self).__init__(a, b, c, d, e, f, ...)
...
Какой самый Pythonic способ автоматически называть суперкласс__init__
?