Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107

Зачем нужен super?

04.05.2020, 21:17. Показов 1194. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Знаю и понимаю, что такое MRO.
Но не понимаю, что такое super.
Понимаю, что super нужен, если в конструкторе мы хотим вызвать конструктор родителя.
Но ведь не только конструктор можно вызвать через super...
Из этого вопрос.
Зачем нужен super, и где это использовать?
Заранее благодарен!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2020, 21:17
Ответы с готовыми решениями:

Зачем нужен return
return возвращает какие-то значения или что-то ещё. Для чего? кому куда и т.д

Зачем нужен счетчик в цикле ?
Всем довольно легкий вопрос , но я не могу зачем нужен счетчик ? ведь можно и без него обойтись или как ? Заранее спасибо за ответ

Зачем нужен print данном коде?
Создал веб-сервер from http.server import HTTPServer, CGIHTTPRequestHandler server_address = ("", 8000) httpd =...

7
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
05.05.2020, 01:43
Цитата Сообщение от jonikster Посмотреть сообщение
Зачем нужен super, и где это использовать?
Вы реально думаете, что в документации плохо объяснено?
https://docs.python.org/3/libr... html#super

Возвращает прокси-объект, делегирующий вызовы методов родительскому или родственному классу типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.
Есть два типичных варианта использования для super. В иерархии классов с одним наследованием super может использоваться для ссылки на родительские классы без явного их именования, что делает код более доступным для обслуживания. Это использование тесно связано с использованием super в других языках программирования.
Или вы даже не попробовали это читать?
0
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
05.05.2020, 08:48  [ТС]
Garry Galler, Если это понимаете вы, это не значит, что это понимают другие.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.05.2020, 11:50
Не совсем понял, что за mro. Множественное наследование в разных языках сделано по-разному. В каких-то запрещено. В питоне - более-менее логично:
Python
1
2
3
4
5
6
class A: pass
class B(A): pass
class C(A): pass
class D(B,C): pass
 
D.func()
Сначала метод func будет искаться в классе D (что логично), потом в B и C. В последнюю очередь - в A.

Про super() вы сами ответили: можно вызывать любые переопределённые методы родительского класса, а не только "конструктор".
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
05.05.2020, 14:40
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
можно вызывать любые переопределённые методы родительского класса
Главная ошибка связанная с питоновским super: вызванный метод не обязательно будет родительским :-)

Добавлено через 3 минуты
Цитата Сообщение от jonikster Посмотреть сообщение
Если это понимаете вы, это не значит, что это понимают другие
super есть в других языках. И смысл использования этого метода везде одинаков. Отличаются лишь нюансы типа MRO.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.05.2020, 15:09
Цитата Сообщение от Garry Galler Посмотреть сообщение
вызванный метод не обязательно будет родительским :-)
Возможно Не настолько часто пользуюсь множественным наследованием. Мои знания о super ограничиваются использованием для вызова в переопределённом методе. По принципы декоратора - дёрнули старое поведение, добавили своей логики.
0
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
05.05.2020, 17:26  [ТС]
Рыжий Лис, MRO - Method Resolution Order.
Насчет super, да. Но я не понимаю, зачем это нужно, если метод родительского класса и так вызовется.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.05.2020, 17:57
Цитата Сообщение от jonikster Посмотреть сообщение
если метод родительского класса и так вызовется.
LOL, нет:

Python
1
2
3
4
5
6
7
8
>>> class A:
...     def f(self): print('parent')
... 
>>> class B(A):
...     def f(self): print('fox')
... 
>>> B().f()
fox
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2020, 17:57
Помогаю со студенческими работами здесь

Зачем нужен int в аргументе функции
Добрый день! Скажите зачем нужен int в аргументе функции? Поэкспериментировал с различными аргументами - разницы ни какой. def...

Зачем нужен collectstatic
Доброго дня! Подскажите, пожалуйста, зачем нужен collectstatic? Ситуация такая: делал делал себе сайт на локалке STATIC_URL = '/static/' в...

Зачем нужен связный список?
Добрый день, зачем нужен связный список? Просьба, если можно, простое объяснение желательно с примером из жизни :) Еще несколько...

Зачем нужна конвертация чисел в текст (TO_CHAR) и текст в число (TO_NUMBER). Так же зачем нужен оператор NULLIF?
Описывают как очень удобные функции, только я как видел то что было число 193, так оно и осталось 193, только СУБД эти числа видит как...

Для чего нужен Super.onStartCommand
Здравствуйте. А для чего надо писать так? public int onStartCommand (Intent intent, int flags, int startId) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru