In C würde ich Zeiger dafür benutzen ...
Verfasst: Dienstag 7. Januar 2014, 00:13
... in Python natürlich nicht
Aber, was löst das folgende Problem:
Über einen Dialog möchte ich einen Namen einlesen und weiterverarbeiten. Ich stelle mir eine Klasse vor, von der ich bei bedarf eine Instanz erstelle und den Wert direkt als Ergebnis des Aufrufs zu bekommen:
name = C_DlgClass()
Allerdings wird 'name' hier jetzt natürlich eine Instanz der Klasse enthalten. In C++ würde ich beim Erzeugen der Instanz einfach einen Zeiger oder eine Referenz auf 'name' übergeben.
C_DlgClass( *name)
Gibt es in Python einen entsprechenden Mechanismus bzw. wie löse ich die Aufgabe?
Ich könnte natürlich eine globale Instanz einer solchen Klasse erstellen und dann immer eine Methode davon aufrufen, die den Dialog dann erstellt und den gelesenen Text dann zurück gibt.
Oder ich könnte aus 'name' eine Klasse machen und dann einfach ein Attribut von 'name' ändern, aber das finde ich etwas übertrieben.
Für eine andere Idee bin ich natürlich dankbar, aber ich würde trotzdem gern wissen, wie man das geschilderte Problem löst.
Gruß und Danke,
Christoph
Über einen Dialog möchte ich einen Namen einlesen und weiterverarbeiten. Ich stelle mir eine Klasse vor, von der ich bei bedarf eine Instanz erstelle und den Wert direkt als Ergebnis des Aufrufs zu bekommen:
name = C_DlgClass()
Allerdings wird 'name' hier jetzt natürlich eine Instanz der Klasse enthalten. In C++ würde ich beim Erzeugen der Instanz einfach einen Zeiger oder eine Referenz auf 'name' übergeben.
C_DlgClass( *name)
Gibt es in Python einen entsprechenden Mechanismus bzw. wie löse ich die Aufgabe?
Ich könnte natürlich eine globale Instanz einer solchen Klasse erstellen und dann immer eine Methode davon aufrufen, die den Dialog dann erstellt und den gelesenen Text dann zurück gibt.
Oder ich könnte aus 'name' eine Klasse machen und dann einfach ein Attribut von 'name' ändern, aber das finde ich etwas übertrieben.
Für eine andere Idee bin ich natürlich dankbar, aber ich würde trotzdem gern wissen, wie man das geschilderte Problem löst.
Gruß und Danke,
Christoph