lokale Variablen
Verfasst: Dienstag 15. Februar 2005, 20:29
Hallo zusammen,
bin Neuling was python betrifft und wundere mich gerade darüber wie python lokale Variablen behandelt (naja, ist wahrscheinlich eher ein Denkfehler von mir ):
Ich habe eine Methode die ich nutze um über die Elemente eines XML-Dokuments zu iterieren, d.h. die ich öfters aufrufe.
Bei jedem Aufruf erzeuge ich eine Instanz eines Objekts, weise dem Objekt Werte zu und returne es dann.
Mein Verständnis von OO-Programmierung sagt mir, dass die lokale Variable "foo" nach Ausführung von "method" verworfen wird und beim nochmaligen Aufruf von "method" ein neues Objekt von blah() erzeugt wird -> dies ist aber nicht der Fall .
Beim 2. und jedem weiteren Aufruf von method existiert das Objekt foo=blah() schon (es hat alle Werte des Objekts, die beim vorigen Aufruf von method zugewiesen wurden)
Kann mir das vllt. jemand erklären?
danke im voraus,
dennis
Edit (Leonidas): Code in Python Tags gesetzt.
bin Neuling was python betrifft und wundere mich gerade darüber wie python lokale Variablen behandelt (naja, ist wahrscheinlich eher ein Denkfehler von mir ):
Ich habe eine Methode die ich nutze um über die Elemente eines XML-Dokuments zu iterieren, d.h. die ich öfters aufrufe.
Bei jedem Aufruf erzeuge ich eine Instanz eines Objekts, weise dem Objekt Werte zu und returne es dann.
Code: Alles auswählen
class a:
def method:
[...]
foo = blah()
[...]
return foo
Beim 2. und jedem weiteren Aufruf von method existiert das Objekt foo=blah() schon (es hat alle Werte des Objekts, die beim vorigen Aufruf von method zugewiesen wurden)
Kann mir das vllt. jemand erklären?
danke im voraus,
dennis
Edit (Leonidas): Code in Python Tags gesetzt.