Я читал, что мне следует использовать super(), но когда я использую super(), кажется, что вызывается только первый родительский класс (Parent1).
- Выполняет явный вызов (Parent1.__init__) нарушает порядок разрешения методов (MRO)?
- Как правильно использовать super() для инициализации обоих родительских элементов при множественном наследовании?
def __init__(self, money):
self.parent1money = money
print("Parent1 init")
class Parent2:
def __init__(self, name):
self.parent2name = name
print("Parent2 init")
class Child(Parent1, Parent2):
def __init__(self, money, name):
# I am calling parents explicitly
Parent1.__init__(self, money)
Parent2.__init__(self, name)
obj = Child(1000, "test")]
Подробнее здесь: https://stackoverflow.com/questions/798 ... nheritance
Мобильная версия