Я смотрел на некоторых учебниках для некоторых PyQt4 вещей, и это хорошо, но я не совсем понимаю, почему синтаксис при создании объекта таков:Python - Почему методы вызова во время __init __()
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
#code to set up instance variables and show() the window
То, что достигается именно от этого, таким образом, а не только для полного удаления вызова self.initUI()
и просто поместить любой код, который устанавливает атрибуты в __init__()
после вызова super
?
Скорее всего, для удобства чтения и повторного использования. – timc
На многих языках это делается для повторного использования кода между несколькими конструкторами. Это также может быть полезно, если вы хотите повторно инициализировать объект в какой-то момент. –
Или переопределить в подклассе, который не вызывает 'initUI', или вызывает его по-разному. – tripleee