Как работает super() в Python?

Middle
346 просмотров
AFK Offer AI

super() возвращает прокси-объект, который делегирует вызовы следующему классу в MRO. В Python 3 вызывается без аргументов: super().__init__(). Важно: super() идёт не к прямому родителю, а к следующему в MRO — это критично при множественном наследовании. Правило cooperative multiple inheritance: все классы в иерархии должны вызывать super(), иначе цепочка прервётся. super() работает и с classmethod. Не вызывай родителя напрямую Parent.__init__(self) — это ломает MRO.

Следующий вопрос

Как строить графики с Matplotlib?