Найти - Пользователи
Полная версия: Объясните смысл функции super()
Начало » Python для новичков » Объясните смысл функции super()
1
buddha
С какой целью применяется?
В каких ситуациях удобно использовать?
Может это сокращенная запись чего-то?
и т.п.

Желательно на простеньких примерах…
reclosedev
Ну не знаю. Вроде в документации все это есть. Там же и ссылка на отличный блог-пост (кстати, есть перевод).
odnochlen
Работает только с классами, наследованными от object или его подкласса (встроенных типов).
Идея интересная, но переименование в ide и так по идее отработает.
reclosedev
odnochlen
Работает только с классами, наследованными от object или его подкласса (встроенных типов).
Идея интересная, но переименование в ide и так по идее отработает.
Основные преимущества открываются при множественном наследовании.
odnochlen
И какие?
reclosedev
odnochlen
И какие?
Лень копипастить (про LoggingDict, MovableColoredShape и OrderedCounter):
http://freehabr.ru/blog/python/151.html
igrishaev
Функция super() позволяет сослаться на родителя экземпляра класса. В функцию передается класс и текущий экземпляр.

Например, нужно изменить конструктор класса, добавив инициализацию какого-то поля.

class Foo(object):
    def __init__(self):
        self.bar = 42
class Baz(Foo):
    def __init__(self):
        super(Baz, self).__init__()
        self.param = "test"
b = Baz()
print b.bar, b.param
>>> 42 test
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB