Ich weiß, ich sollte vermeiden, mit globalen Variablen in erster Linie aufgrund von Verwirrung wie diese, aber wenn ich sie verwenden sollten, ist die folgende eine gültige Art und Weise zu gehen, über die Verwendung von ihnen? (Ich versuche, die globale Kopie einer Variablen aufzurufen, die in einer separaten Funktion erstellt wurde).
x = "somevalue"
def func_A ():
global x
# Do things to x
return x
def func_B():
x = func_A()
# Do things
return x
func_A()
func_B()
Ist die x
die die zweite Funktion verwendet, den gleichen Wert wie die globale Kopie von x
dass func_a
verwendet und modifiziert? Spielt die Reihenfolge beim Aufruf der Funktionen nach der Definition eine Rolle?
1 Stimmen
Nehmen Sie nicht an, dass Python Referenzen vor der Zuweisung als solche behandelt, nur weil Sie eine Variable in Ihrer Funktion zugewiesen haben. Bis zur ersten Zuweisung, wenn Sie x verwenden, wäre es weder die globale noch die lokale Variable. Sie werden die berüchtigte UnboundLocalError-Ausnahme ins Gesicht bekommen :)
0 Stimmen
Python kopiert nicht im Auftrag.