
"Andreas" == Andreas Pakulat <apaku@gmx.de> writes:
Andreas> On 16.Feb 2005 - 19:47:54, Christian Helmbold wrote: [...] >> aber spätestens bei einem Constructor geht das nicht mehr. Andreas> Es gibt keine Konstruktoren in Python, die __init__ Andreas> Methode ist kein Konstruktor, sondern sie erzeugt Andreas> z.B. Instanzvariablen. Hmm. Es scheint hier einige Begriffsverwirrungen zu geben. Für mich ist ein Constructor/Konstruktor ein Ding, das ein neu erzeugtes Objekt initialisiert und (hoffentlich) in einen wohldefinierten Zustand bringt (z.B. sicherstellt, daß alle spezifizierten Invarianten gelten). Andreas> Ein Konstruktor in C++ oder Java ist etwas das aus dem Andreas> Nichts eine Instanz erzeugt, Ich kann hier dank Unwissenheit nichts über Java sagen, aber in C++ erzeugt der Constructor/Konstruktor gar nix (außer Attributsinstanzen etc.). Wenn der aufgerufen wird, ist das Objekt schon alloziert (sei es auf dem Stack oder Heap). Verwechselst Du hier etwas mit klassenspezifischen new/delete Methoden? (Wie andere schon richtig festgestellt haben, kann man solche via Metaklassen auch in Python erstellen.) Andreas> wie man aber an der Signatur von _init__ sehen kann ( Andreas> __init__(*self*): ) existiert die Instanz beim Aufruf der Andreas> Funktion schon. Und im C++-Constructor-Body is 'this' bekannt und darf benutzt werden... Holger _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de