Was ist der Unterschied zwischen alten und neuen Klassen in Python?

In Python gibt es zwei Arten von Klassen: Old-Style- und New-Style-Klassen. Der Hauptunterschied zwischen den beiden besteht darin, dass New-Style-Klassen von einer integrierten Basisklasse, object, abgeleitet werden, während Old-Style-Klassen dies nicht tun. Das bedeutet, dass New-Style-Klassen Zugriff auf bestimmte Funktionen haben, wie z.B. das __class__ Attribut und die super() Funktion, die in Old-Style-Klassen nicht verfügbar sind.

Old-Style-Klassen werden in Python-Versionen 2.x, wobei x <3 definiert und New-Style-Klassen werden in Python 3.x definiert.

Hier ist ein Beispiel für eine Old-Style-Klasse:

class OldStyleClass:
    pass

Hier ist ein Beispiel für eine New-Style-Klasse:

class NewStyleClass(object):
    pass

oder

class NewStyleClass:
    pass

Letztere ist dasselbe wie die erste, da die Klassendefinition in Python3 automatisch von object erbt.