Марк Лутц, «Изучаем Python», том 2, гл. 32:
«class С:
def act(self):
print('spam')
class E(С):
def method(self): # self подразумевается в super
proxy = super() # Эта форма не имеет смысла вне метода
print(proxy) # Вывод обычно скрытого промежуточного объекта
proxy.act() # Аргументы отсутствуют: неявно вызывает метод суперкласса
print(E().method())»
Пошагово:
1. E().method() создает экземпляр класса E и вызывает его метод method()
2. Внутри method():
- Создается proxy = super() (объект super)
- Выводится print(proxy) → <super: <class 'E'>, <E object>>
- Вызывается proxy.act() → выводится spam
3. Метод method() завершается без return, поэтому возвращает None
Post #4176
914
- 👍 2
- 👎 1