In Python 2, erbt nicht von object
wird eine alten Stil-Klasse erstellen, die unter anderen Effekten, type
unterschiedliche Ergebnisse liefern Ursachen:
>>> class Foo: pass
...
>>> type(Foo())
<type 'instance'>
gegen
>>> class Bar(object): pass
...
>>> type(Bar())
<class '__main__.Bar'>
Auch Die Regeln für die Mehrfachvererbung sind different in einer Weise, die ich hier nicht mal zusammenfassen möchte. Alle gute Dokumentation, die ich über MI gesehen habe, beschreibt neue Klassen.
Schließlich sind Klassen im alten Stil in Python 3 verschwunden und die Vererbung von object
ist implizit geworden. Ziehen Sie also immer neue Stilklassen vor, es sei denn, Sie benötigen eine Rückwärtskompatibilität mit alter Software.
Ist da gibt es einen Unterschied zwischen 'Klasse Foo():' und 'Klasse Foo:'? Wie ich sehe, funktionieren beide in Python 3. – Wolf