Справочник · модуль 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.

В этом же уроке