Python: унаследовать суперкласс __init __

У меня есть базовый класс с большим количеством __ 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, ...)

...

Какой самый питонический способ автоматически вызывать суперкласс __ init __ ?

58
задан Adam Matan 30 June 2011 в 13:51
поделиться