Если у меня есть три класса:
class BaseClass(object):
def __init__(self, base_arg, base_arg2=None):
...
class MixinClass(object):
def __init__(self, mixin_arg):
...
class ChildClass(BaseClass, MixinClass):
def __init__(self, base_arg, mixin_arg, base_arg2=None):
???
Каков правильный способ инициализации MixinClass
и BaseClass
?
Не похоже, что я могу использовать super
, потому что MixinClass
и BaseClass
оба принимают разные аргументы... И два вызова MixinClass.__init__(...)
и BaseClass.__init__(...)
могут вызвать проблему наследования алмазов super
предназначен для предотвращения.