Задать вопрос
@Ben_r007

Где использовать super?

Здравствуйте.
Знаю и понимаю, что такое MRO.
Но не понимаю, что такое super.
Понимаю, что super нужен, если в конструкторе мы хотим вызвать конструктор родителя.
Но ведь не только конструктор можно вызвать через super...
Из этого вопрос.
Зачем нужен super, и где это использовать?
Заранее благодарен!
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
С помощью super() можно вызывать любые родительские методы, не только конструктор.
Кстати, __init__ -- это не конструктор, строго говоря. Он не создаёт инстанс. Инстанс создаётся в __new__, это и есть, фектически, конструктор. А __init__ -- это инициализация. Хотя в общем-то всем пофиг и конструктором его тоже все называют. Для простоты.

В питоне есть множественное наследование. super создаёт прокси-объект с интерфейсом к предкам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 февр. 2025, в 21:51
50000 руб./за проект
19 февр. 2025, в 21:33
150000 руб./за проект
19 февр. 2025, в 21:08
30000 руб./за проект