In Python2 macht das Deklarieren von object
als Basisklasse die Klasse zu einer Klasse für neue Stile . Ansonsten ist es eine "klassische" Klasse. Unter den Unterschieden sind das
Eigenschaften funktionieren nur mit neuen Stilklassen
new-style Klassen haben die Methode mro
new-style-Klassen haben viele Attribute, die klassischen Klassen fehlen
%Vor%Klassische Klassen werden in Python2 nur aus Gründen der Abwärtskompatibilität beibehalten. Alle von Ihnen definierten benutzerdefinierten Klassen sollten einen neuen Stil erhalten.
In Python3 sind alle Klassen neu und müssen daher nicht explizit deklariert werden.
In Python 2 macht das object
es zu einer "neuen Stilklasse". Die Details dessen, was dies bedeutet, sind nicht zu wichtig, aber die Quintessenz ist, dass Sie es immer benutzen sollten oder einige Dinge könnten nicht richtig funktionieren.
In Python 3 ist alles immer eine Klasse im neuen Stil, daher müssen Sie dort nicht object
verwenden.
Tags und Links python inheritance oop