ACHTUNG: Ich habe Python seit 10 Minuten gelernt, also entschuldige mich für irgendwelche dummen Fragen!
Ich habe den folgenden Code geschrieben, jedoch bekomme ich die folgende Ausnahme:
%Vor%Nachrichtendatei Name Zeilenposition Traceback-Knoten 31 exceptions.TypeError: Dieser Konstruktor benötigt keine Argumente
Irgendwelche Gedanken?
Ich gehe davon aus, dass Sie von einem Java-ish-Hintergrund kommen, daher gibt es einige wichtige Unterschiede, auf die Sie hinweisen sollten.
%Vor%Kumpel, hol dir ein Pythonbuch. Eintauchen in Python ist ziemlich gut.
Es gibt eine Reihe von Dingen, auf die Sie hinweisen sollten:
__init__
. C ++:
%Vor%Python:
%Vor%Das ist kein gültiges Python.
Der Konstruktor für eine Python-Klasse ist def __init__(self, ...):
und Sie können ihn nicht überladen.
Sie können Standardwerte für die Argumente verwenden, z. B.
%Vor%Ah, das sind häufige Probleme für neue Python-Entwickler.
Zuerst sollte der Konstruktor aufgerufen werden:
%Vor%Ihr zweites Problem ist das Vergessen, den Selbstparameter in Ihre Klassenmethoden aufzunehmen.
Wenn Sie den zweiten Konstruktor definieren, ersetzen Sie außerdem die Definition der Computer () -Methode. Python ist extrem dynamisch und lässt Sie fröhlich Klassenmethoden neu definieren.
Der pythischere Weg ist wahrscheinlich, Standardwerte für die Parameter zu verwenden, wenn Sie sie nicht benötigen.
Tags und Links python exception constructor-overloading