当父初始化函数接受不同数量的参数时如何处理 python 中的多重继承

How to handle multiple inheritance in python when parent init functions accept different numbers of arguments

我有一个 class 继承自另外 2 个 classes,其中一个接受了 init 参数。如何正确初始化父 classes?

到目前为止我有:

class A(object):
    def __init__(self, arg1):
        self.arg1 = arg1

class B(object):
    def  __init__(self):
         pass

class C(A, B):
     def __init__(arg1):
          super(C, self).__init__(arg1)

但这会抛出 TypeError,因为 B 没有收到参数。

在上下文中,BC 的正确父级,而 A 是项目中许多 classes 继承功能的混合。

您可以手动调用父 类 的 __init__

class C(A, B):
     def __init__(arg1):
          A.__init__(self,arg1)
          B.__init__(self)