2017-02-12 5 views
-1

у меня есть такой код:класс питона называет себя в __init__ используя супер

class sampleClass(object): 
    def __init__(self): 
     super(sampleClass, self).__init__() 

мой вопрос заключается в том, что, почему он называет супер самой себя под __init__?

Я знаю, что супер используется для вызова родительского класса __init__ (если я ошибаюсь, скажите мне), но вот что он делает?

+0

super() возвращает родительский класс. –

ответ

1

Это не вызывает __init__ из его собственных, что это правильный синтаксиса super который должен быть первым аргументом самого класса (имя класса, супер призовет свой родитель __init__).

Подробнее здесь https://docs.python.org/3.6/library/functions.html#super

супер ([тип [объект или тип]])

Возвращение прокси объект, который делегирует вызовы методов родительского или родственного класса тип. [первый аргумент]

Смежные вопросы