Ich möchte auf eine Variable zugreifen, die in einer Funktion berechnet wird, aber das ist nicht der Rückgabewert. Ich rufe diese Funktion in einer anderen Funktion auf, so dass ich den Rückgabewert nicht ändern kann (ich weiß, dass dies das ist, was Leute normalerweise vorschlagen). Ich habe versucht, vor meinen Variable global verwenden, aber wenn ich es außerhalb nennen, ich habe die folgende Fehlermeldung: Nameerror: global name ‚DA‘ definiert ist, nicht Mein Code sieht wie folgt aus:Zugreifen auf Variable von einer Funktion außerhalb davon: Python
def function():
global DA
DA = something
....
return something_different
print DA #(outside the function)
Ich bin relativ Neu bei Python, also ist da vielleicht etwas offensichtlich, dass ich hier vermisse. Vielen Dank!
möglich dupe von [Verwenden von globalen Variablen in einer anderen Funktion als die, die sie erstellt] (http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than- the-one-that-created-them) – davedwards
Hast du tatsächlich _call_ 'funktioniert'? Der Code innerhalb einer Funktion wird nur ausgeführt, wenn die Funktion aufgerufen wird. Wenn Sie nur die Funktion definieren und nicht aufrufen, wird dem globalen 'DA' kein Wert zugewiesen. – ShadowRanger
danke für deine antwort. was ich bin darüber verwirrt, dass, wenn ich Funktion() aufrufen, dann gibt es mir den Rückgabewert und nicht DA? – Sasha