In Python, warum wird empfohlen, jede Klasse zu erben, die wir aus der Klasse object
machen, warum nicht direkt als Basisklasse ?? Eine wichtige Sache, die ich bemerkte, ist, dass die Deklaration __slots__
nicht funktioniert, wenn ich meine Klasse als eine Basisklasse (stattdessen als eine Unterklasse der Klasse object
). Welche anderen Vorteile/Nachteile habe ich, indem ich meine Klasse von der Klasse object
erben?Warum ist es eine gute Übung, eine Klasse, die wir aus der Klasse "Objekt" machen, zu erben?
3
A
Antwort
6
In Python2, die Sie von Objekt, um erben müssen "new-style" class zu erstellen. Dinge wie Deskriptoren, super
und __slots__
funktionieren nicht korrekt mit "Old-Style" -Klassen, aber Old-Style-Klassen blieben für die Abwärtskompatibilität.
In Python3 sind alle Klassen Klassen im neuen Stil. Daher ist das Erben von object
nicht mehr erforderlich.
0
, wenn Sie von dem Objekt zu erben erstellen Sie neue Stilklasse, ohne sie im alten Stil-Klasse haben: http://www.python.org/doc/newstyle/ für mehr
Verwandte Themen
- 1. Ist es eine gute Übung, eine Methode zu erstellen, die Daten außerhalb der Klasse const ändert?
- 2. Ist es eine gute Übung, NSError
- 3. Ist es eine gute Übung, die Klasse durch Klasse <zu ersetzen? Erweitert Objekt> um Warnungen zu vermeiden?
- 4. erben eine statische Klasse
- 5. Ist es eine gute Idee, eine Python-Klasse zu hashen?
- 6. Vererbungsentwurf mit Interface + abstrakte Klasse. Gute Übung?
- 7. Ist es eine gute Übung, abstrakte Klasse und innere Klassen in C++ zu verwenden
- 8. Ist die www Subdomain eine gute Übung?
- 9. Ist es eine gute Idee, statische Klasse AppContext zu verwenden?
- 10. Ist es eine gute Übung, $ parent in angular zu verwenden?
- 11. Ist es eine gute Übung, variable Subdomains zu verwenden?
- 12. Ist es eine gute Übung, den Skripttyp zu ignorieren?
- 13. Ist es eine gute Übung, Menüs zu validieren?
- 14. Ist es eine gute Übung, size_t in C++ zu verwenden?
- 15. Ist es eine gute Übung, Testeigenschaften zu testen?
- 16. In Python auf null setzen, ist es eine gute Übung?
- 17. Klassen-ID, die innerhalb der Klassendeklaration verwendet wird. Ist es eine gute Übung?
- 18. Ist es möglich, die Old-Style-Klasse von der ECMAScript 6-Klasse in JavaScript zu erben?
- 19. Ist es eine gute Praxis, den Konstruktor explizit zu machen?
- 20. Ist es eine Methode oder eine Klasse?
- 21. Ist es eine gute Übung, die Grundphrase einer HTTP-Antwort zu ändern?
- 22. Ist es eine gute Praxis, die statische Methode in der Singleton-Klasse zu verwenden?
- 23. Ist es möglich, eine Array-Erweiterung in Swift zu machen, die auf eine Klasse beschränkt ist?
- 24. Ist es eine schlechte Übung, "Klasse und Schnittstellen im selben Paket zu kombinieren"?
- 25. Ist es eine gute Übung, eine Eins-zu-Eins-Relationstabelle in MySQL zu erstellen?
- 26. Warum ist String eine Klasse?
- 27. In Java, wie können wir eine Instanz einer Klasse aus einer Methode innerhalb der Klasse
- 28. Warum ist es möglich, eine generische Klasse zu generieren?
- 29. Kann eine Webservice-Klasse asp.net-Seitenklasse erben
- 30. PHP5-Klassen: eine komponierte Klasse erben?
Dies ist kein Duplikat, aber bitte beachten Sie http://StackOverflow.com/Questions/54867/old-style-and-new-style-classes-in-python. –
möglich Duplikat von [Python-Klasse erbt Objekt] (http://stackoverflow.com/questions/4015417/python-class-inherits-object) – hop
Sie können dies leicht finden, indem Sie nach "Python erben von Objekt" suchen – hop