super().__init__() является аналогом base: в c#?
super().__init__() является аналогом base: в c#?
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
base может использоваться в двух контекстах:
- для доступа к полям родительского класса
- для вызова конструктора родительского класса
Для первого типа использования аналогом base является super().
Для второго типа использования super().__init__ является аналогом base.
В питоне нет неявного использования конструктора и поэтому это одно и то же. super() возвращает ссылку на базовый класс, а ее можно использовать для доступа к методам или атрибутам класса, в частности для вызова специального метода __init__, который является конструктором.