
On 16.Feb 2005 - 19:47:54, Christian Helmbold wrote:
wie ich gerade mit Entsetzen feststellen musste, kann man in Python gar keine Methoden überladen! Wie umgeht man diese Schwäche am elegantesten? Übergebt ihr einfach None, wenn ein Parameter leer ist? Bei normalen Methoden könnte man ja noch auf zwei Methoden mit unterschiedlichen Namen ausweichen,
Neben den anderen Antworten, die alle korrekt sind, möchte ich dich noch auf etwas hinweisen (was auch ich erst nach einiger Zeit mit Python mitbekommen habe):
aber spätestens bei einem Constructor geht das nicht mehr.
Es gibt keine Konstruktoren in Python, die __init__ Methode ist kein Konstruktor, sondern sie erzeugt z.B. Instanzvariablen. Ein Konstruktor in C++ oder Java ist etwas das aus dem Nichts eine Instanz erzeugt, wie man aber an der Signatur von _init__ sehen kann ( __init__(*self*): ) existiert die Instanz beim Aufruf der Funktion schon. Andreas -- Bank error in your favor. Collect $200. _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de