Справочник · модуль 9 «Объекты и классы»
Super
Команда super() вызывает метод родителя. Её используют, чтобы не переписывать то, что родитель уже умеет.
Сравнение из жизни
Как попросить старшего показать, как это делается.
Пример
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, tricks):
super().__init__(name)
self.tricks = tricks
dog = Dog("Шарик", 3)
print(dog.name, dog.tricks)Результат
Шарик 3
Учитель в уроке Если ребёнку нужны новые атрибуты, он пишет свой __init__. Чтобы не делать работу родителя заново, зовём super() точка __init__. Это значит: пусть сначала родитель сделает своё. Потом мы добавим своё.
Запомнить
super — как попросить маму сделать её часть. А потом ты добавишь своё.
Тема из урока 9.5 «Наследование» курса PythonAZ.