Правильный способ обеспечить инициализацию родительских базовых классов заключается в следующем (вы не указали, является ли ваш Python Python 2 или Python 3, поэтому я гарантирую, что ваши классы наследуются от класса object
):
class A(object):
def __init__(self):
print('A')
super(A, self).__init__()
#super().__init__() # alternate call if Python 3
class B(object):
def __init__(self):
print('B')
super(B, self).__init__()
#super().__init__() # alternate call if Python 3
class C(A,B):
def __init__(self):
print('C')
super(C, self).__init__()
#super().__init__() # alternate call if Python 3
c1 = C()
Или вы можете просто сделать следующее:
class A():
def __init__(self):
print('A')
class B():
def __init__(self):
print('B')
class C(A,B):
def __init__(self):
print('C')
A.__init__(self)
B.__init__(self)
c1 = C()