GOOGLE ADS

Mittwoch, 27. April 2022

Globale Variablen der Python-Funktion?

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_averwendet 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

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...