当父初始化函数接受不同数量的参数时如何处理 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
没有收到参数。
在上下文中,B
是 C
的正确父级,而 A
是项目中许多 classes 继承功能的混合。
您可以手动调用父 类 的 __init__
。
class C(A, B):
def __init__(arg1):
A.__init__(self,arg1)
B.__init__(self)
我有一个 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
没有收到参数。
在上下文中,B
是 C
的正确父级,而 A
是项目中许多 classes 继承功能的混合。
您可以手动调用父 类 的 __init__
。
class C(A, B):
def __init__(arg1):
A.__init__(self,arg1)
B.__init__(self)