Ich weiß, dass ich die Verwendung globaler Variablen aufgrund solcher Verwirrung von vornherein vermeiden sollte, aber wenn ich sie verwenden würde, ist die folgende Methode eine gültige Methode, um sie zu verwenden? (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()
Hat die x
, die die zweite Funktion verwendet, denselben Wert wie die globale Kopie x
, die sie func_a
verwendet und ändert? Spielt die Reihenfolge beim Aufrufen der Funktionen nach der Definition eine Rolle?
Lösung des Problems
Wenn Sie einfach auf eine globale Variable zugreifen möchten, verwenden Sie einfach ihren Namen. Um seinen Wert jedoch zu ändernglobal
, müssen Sie das Schlüsselwort verwenden.
Z.B
global someVar
someVar = 55
Dies würde den Wert der globalen Variablen auf 55 ändern. Andernfalls würde es nur 55 einer lokalen Variablen zuweisen.
Die Reihenfolge der Auflistungen von Funktionsdefinitionen spielt keine Rolle (vorausgesetzt, sie beziehen sich nicht in irgendeiner Weise aufeinander), die Reihenfolge, in der sie aufgerufen werden, spielt keine Rolle.
Keine Kommentare:
Kommentar veröffentlichen