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.