Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
var = 17
def change_var(new_value):
global var
var = new_value
Wenn ich das 'global' nicht da stehen habe, wird eine lokale Variable namens 'var' gesucht und natürlich nicht gefunden.
Wie kann ich vermeiden, 'global' zu benutzen?
Da es sich um ein Minimalbeispiel handelte, hat es gar nichts gemacht. Ich habe nun das Beispiel etwas aufgebohrt, so dass es etwas macht, allerdings nichts Sinnvolles:
In [1]: var = 17
In [2]: def change_var(var, new_value):
...: var += new_value
...: return var
...:
In [3]: var = change_var(var, 2)
In [4]: print(var)
19
`new_value` ist ein bisschen irreführend weil es nicht der neue Wert ist, sondern der Wert um den `var` verändert wird.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002