用不同的参数调用所有父类的__init __

问题描述 投票:0回答:1

我有这样的类结构:

class A:
    def __init__(self):
        print("A")
class B:
    def __init__(self, x):
        print("B")

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

c=C()

如您所见,AB都是C的父类。我想在__init__C中调用两个类__init__。我想将一些参数传递给B的__init__。有什么办法可以用super关键字做到这一点?我认为这会起作用:

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

我们应该以这种方式直接调用__init__,还是对此有更好的解决方案?

python python-3.x oop multiple-inheritance
1个回答
0
投票

您必须将self作为参数提供给父类的__init __()。

class C(A,B):
def __init__(self):
    A.__init__(self)
    B.__init__(self, 5)
© www.soinside.com 2019 - 2024. All rights reserved.