Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ist es wichtig, das globale Schlüsselwort zum Ändern globaler Variablen in Funktionen zu verwenden?

Warum ist es wichtig, das globale Schlüsselwort zum Ändern globaler Variablen in Funktionen zu verwenden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-19 12:09:01490Durchsuche

Why is it Important to Use the Global Keyword to Modify Global Variables in Functions?

Verstehen globaler Variablenänderungen in Funktionen

Bei der Programmierung werden globale Variablen von allen Funktionen innerhalb eines Programms gemeinsam genutzt. Das Ändern einer globalen Variablen innerhalb einer Funktion sollte ihre Änderung im gesamten Programm widerspiegeln. Bestimmte Umstände können jedoch zu unerwartetem Verhalten führen, wie im folgenden Szenario hervorgehoben.

Das Problem:

Angesichts des folgenden Codeausschnitts:

<code class="python">done = False

def function():
    for loop:
        code
        if not comply:
            done = True  #let's say that the code enters this if-statement

while done == False:
    function()</code>

Der Code scheint zu versuchen, die while-Schleife zu verlassen, wenn die Variable done innerhalb der Funktion auf True gesetzt ist. Das Problem tritt jedoch auf, wenn die Funktion() die globale Variable done nicht ordnungsgemäß ändert, was dazu führt, dass die while-Schleife auf unbestimmte Zeit fortgesetzt wird.

Die Lösung:

Das Problem liegt im Umfang der Funktion. Funktionen erstellen ihren eigenen Namensraum, was bedeutet, dass die Variable done in function() lokal erstellt wird und nicht mit der globalen Variable done identisch ist. Um auf die globale Variable „done“ zuzugreifen und diese zu ändern, muss das Schlüsselwort „global“ verwendet werden:

<code class="python">def function():
    global done
    for loop:
        code
        if not comply:
            done = True</code>

Durch die Verwendung von „global done“ wird sichergestellt, dass Änderungen an der Variable „done“, die in function() vorgenommen werden, sich auf die globale Variable auswirken und den Exit aus der auslösen while-Schleife, wenn sie auf „True“ gesetzt ist.

Erklärung:

Das Schlüsselwort global wird verwendet, um globale Variablen innerhalb eines lokalen Bereichs, z. B. einer Funktion, zu deklarieren und zu ändern . Dadurch kann die Funktion mit der Originalvariablen arbeiten, anstatt eine neue lokale Kopie zu erstellen. Durch die Verwendung von global done kann die Funktion die globale done-Variable ändern und ihre Änderungen außerhalb der Funktion zugänglich machen.

Das obige ist der detaillierte Inhalt vonWarum ist es wichtig, das globale Schlüsselwort zum Ändern globaler Variablen in Funktionen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn