Давайте предположим, что у меня есть немного кода Python:Есть ли способ использовать super() для вызова метода __init__ для каждого базового класса в Python?
class Mother:
def __init__(self):
print("Mother")
class Father:
def __init__(self):
print("Father")
class Daughter(Mother, Father):
def __init__(self):
print("Daughter")
super().__init__()
d = Daughter()
Этот скрипт печатает «Дочь». Есть ли способ гарантировать, что все методы __init__ классов классов называются? Один из методов, который я придумал для этого:
class Daughter(Mother, Father):
def __init__(self):
print("Daughter")
for base in type(self).__bases__:
base.__init__(self)
Этот сценарий печатает «Дочь», «Мать», «Отец». Есть ли хороший способ сделать это, используя super() или другой метод?