Почему не конструктор суперкласса, вызываемого при объявлении объекта подкласса?

Я программист Java, новичок в программировании на Python. Я заметил неожиданное поведение в программировании на питоне. Я ожидал, что последовательность печати будет выглядеть как B class ,A Class конструкторы B class ,A Class . Но он выполняет конструктор только A.

Вывод как «Свой конструктор А», Не могли бы вы помочь мне понять ход исполнения. заранее спасибо

 class B: def __init__(self): print 'Its constructor of B' class A(B): def __init__(self): print 'Its constructor of A' #B.__init__(self) if __name__=='__main__': obj=A() 

  • Запись файла .CSV в Python, который работает как для Python 2.7+, так и для Python 3.3+ в Windows
  • извлекать цифры простым способом из строки python
  • Время ожидания ftplib.FTP имеет непоследовательное поведение
  • Как сделать столбцы Tkinter равной ширины, когда виджеты охватывают несколько столбцов (Python 2.7)
  • Поиск верхних N столбцов для каждой строки в кадре данных
  • PyInstaller не загрузит изображения PyQt в GUI
  • Python, читать текстовый файл CRLF как есть, с CRLF
  • Использование BeautifulSoup для извлечения заголовка ссылки
  • One Solution collect form web for “Почему не конструктор суперкласса, вызываемого при объявлении объекта подкласса?”

    В python вы должны вызвать инициализатор родительского элемента (именно так вызывается метод __init__ , – «конструктор» – это что-то еще) явно.

    Вы можете сделать это, как вы это делали в пропущенной строке. Еще лучше, вы должны использовать super , которая определяет, какой родительский доступ для вас. Он работает только с классами нового стиля (в основном, это означает, что корень иерархии классов должен наследоваться от object ).

    Python - лучший язык программирования в мире.