Wenn Sie eine Klasse definieren und kein bestimmtes Parent deklarieren, wird die Klasse zu einer "classic class", die sich ein wenig anders verhält als "new-style classes", die von object geerbt werden. Weitere Informationen finden Sie hier: Ссылка
Klassische Klassen haben keine gemeinsame Wurzel, also erbt Ihr AClass im Wesentlichen keine Klasse.
Beachten Sie, dass dies spezifisch für Python-Versionen vor 3.0 ist. In Python 3 sind alle Klassen neue Stilklassen und erben implizit von object, wenn kein anderer Elternteil deklariert ist.
Probieren Sie das folgende Code-Snippet in Python 2.7 und Python 3.1
aus %Vor%In Python 2.7 erhalten Sie:
%Vor%Und Python 3.1 werden Sie bekommen.
%Vor% Und das erklärt alles. Es ist eine alte Stilklasse in Python 2, es sei denn, Sie unterteilen sie von object
. Nur in Python3 wird es standardmäßig wie eine neue Stilklasse behandelt.
Lass es uns ausprobieren.
%Vor%Lesen Sie eine Einführung in die neuen Stilklassen in den Links in anderen Antworten.
In Python 2.x oder älter ist Ihr Beispiel AClass
eine "Old-Style" -Klasse.
Eine "new-style" -Klasse hat eine definierte Vererbung und muss von einem Objekt oder einer anderen Klasse erben.
Was ist der Unterschied zwischen alten Stil und neuen Stilklassen in Python? ?
EDIT: Wow, ich dachte nicht, dass es möglich ist, die alte Syntax in Python 3.x zu verwenden. Aber ich habe es gerade ausprobiert und diese Syntax funktioniert immer noch. Aber Sie bekommen eine neue Art Klasse.
Tags und Links python class inheritance