Verschiedene Verwendungsmöglichkeiten von __init__ für PyQt4

Also ... ich arbeite daran, mit PyQt4 von Python zu einer GUI-Programmierung überzugehen. Ich schaue mir ein paar verschiedene Bücher und Tutorials an, von denen jedes eine etwas andere Art zu Beginn der Klassendefinition zu haben scheint.

Ein Tutorial startet den Unterricht wie folgt:

class Example(QtGui.QDialog):
    def __init__(self):
        super(Example, self).__init__()

Ein anderes Buch macht es so:

class Example(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Example, self).__init__(parent)

Und noch ein anderer macht es so:

class Example(QtGui.QDialog):
    def__init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

Ich versuche immer noch, mich auf Klassen und OOP und zu konzentrierensuper() und alles ... bin ich richtig in der Annahme, dass die letzte Zeile des dritten Beispiels mehr oder weniger dasselbe bewirkt wie die Anrufe mitsuper() in den vorherigen, indem Sie die Basisklasse explizit direkt aufrufen? Gibt es für relativ einfache Beispiele wie diese, d. H. Für die einmalige Vererbung, einen wirklichen Vorteil oder Grund, den einen oder den anderen Weg zu wählen? Endlich ... das zweite Beispiel ist erfolgreichparent als Argument fürsuper() während der erste keine ... Vermutungen / Erklärungen gibt, warum / wann / wo das angebracht wäre?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage