Почему при ромбовидном наследовании конструктор Pepega вызывается последним?
class Pepega:
def __init__(self) -> None:
print("this pepega()")
class Smart(Pepega):
def __init__(self):
print("__init__Smart")
super().__init__()
class Monkey(Pepega):
def __init__(self):
print("Monkey()")
super().__init__()
class SmartMonk(Monkey, Smart):
def __init__(self):
print("__init__SmartMonk")
super().__init__()
smrtM = SmartMonk()
Ответы (1 шт):
Автор решения: Vasily Isaev
→ Ссылка
В питоне используется MRO - метод разрешение порядка при ромбовидном наследовании, можно почитать тут https://tirinox.ru/mro-python/