@UNy

Наследование, метод __init__?

есть класс Person и есть дочерний класс Manager.
class Person:
    def __init__(self, name, job, salary):
        self.name = name
        self.job = job
        self.salary = salary

class Manager(Person):
    def __init__(self, name, salary):
        super().__init__(name, "manager", salary)


Что бы не прописывать имя при создании экземпляра я его задаю сразу в самом классе.
Вопрос: в чем отличие super().__init__(name, "manager", salary) от Person.__init__(name, "manager", pay)?
2 способ используется если у класса много потомков?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
TheDeadOne
@TheDeadOne
Седой и строгий
Форма Person.__init__(name, "manager", pay) - это наследие Python 2.5, считается устаревшей и не рекомендована к применению.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.
15 авг. 2018, в 01:47
30000 руб./за проект
15 авг. 2018, в 01:09
70000 руб./в месяц
14 авг. 2018, в 22:43
350 руб./за проект