Einen wunderschönen guten Morgen,
ich komme aus der javawelt und arbeite mich gerade mit großem Spaß in PYthon ein.
Ich bin auf etwas gestoßen was in unterschiedlichen Quellen anders dargestellt wird.
Wie definiere ich in Python eine Klasse?
class X:
class X():
class X(object): ?
Ich habe alles durchprobiert - scheint zu funktionieren. Ich das alles gleichwertig?
Habt Ihr für mich eine verlässliche Quelle die auch erklärt warum man das so oder so schreibt?
Grüße und vielen Dank,
myphyday
Frage zur Klassendefinition
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@myphyday: Das ist in Python 3 alles gleichwertig und man sollte die erste Variante nehmen, denn sowohl die Klammern als auch `object` sind überflüssig weil sie nichts bewirken bzw. `object` der Defaultwert für die Basisklasse ist wenn man nichts angibt. Zumindest letzteres ist in Java ja auch so. Da kann man ja auch diese beiden Varianten verwenden, und nimmt die erste:
public class X { …
public class X extends Object { …
public class X { …
public class X extends Object { …
“Vir, intelligence has nothing to do with politics!” — Londo Mollari