Was bedeutet die Objektdeklaration in einer Python-Klasse und sollte ich sie verwenden? [Duplikat]

8

Beispiel # 1:

%Vor%

Beispiel # 2:

%Vor%

Was macht die Objektdeklaration? Sollten Sie es benutzen? Ich habe eine Reihe von Programmen mit beiden und kenne den Unterschied nicht. Wenn jemand dieses Konzept erklären kann, bitte.

    
Paxwell 16.11.2012, 21:02
quelle

2 Antworten

14

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.

    
unutbu 16.11.2012, 21:04
quelle
0

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.

    
BrenBarn 16.11.2012 21:04
quelle

Tags und Links