Python Global Keyword

Table of Contents

In diesem Artikel erfahren Sie mehr über das globale Schlüsselwort, die globale Variable und die Verwendung globaler Schlüsselwörter.

Bevor Sie diesen Artikel lesen, stellen Sie sicher, dass Sie einige Grundlagen über Python Globale, lokale und nicht-lokale Variablen.

 

Was ist das globale Schlüsselwort?

 

In Python, global Schlüsselwort ermöglicht es Ihnen, die Variable außerhalb des aktuellen Gültigkeitsbereichs zu ändern. Es wird verwendet, um eine globale Variable zu erstellen und Änderungen an der Variablen in einem lokalen Kontext vorzunehmen.


 

 

Regeln des globalen Schlüsselworts

Die Grundregeln für global Schlüsselwort in Python sind:

 

  • Wenn wir eine Variable innerhalb einer Funktion erstellen, ist sie standardmäßig lokal.
  • Wenn wir eine Variable außerhalb einer Funktion definieren, ist sie standardmäßig global. Sie müssen nicht verwenden global Stichwort.
  • Wir gebrauchen global Schlüsselwort zum Lesen und Schreiben einer globalen Variablen innerhalb einer Funktion
  • Gebrauch von global Schlüsselwort außerhalb einer Funktion hat keine Auswirkung.

 

 

Verwendung des globalen Keywords

 

Nehmen wir ein Beispiel.

Beispiel 1: Zugriff auf globale Variable innerhalb einer Funktion

 

c = 1 # Globale Variable

def add():
    print(c)

add()

 

Wenn wir das obige Programm ausführen, lautet die Ausgabe:

1

 

Es kann jedoch vorkommen, dass wir einige Szenarien haben, in denen wir die globale Variable innerhalb einer Funktion ändern müssen.

 


 

 

Beispiel 2: Ändern der globalen Variablen innerhalb der Funktion

 

c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

 

Wenn wir das obige Programm ausführen, zeigt die Ausgabe einen Fehler:

UnboundLocalError: local variable 'c' referenced before assignment

 

Dies liegt daran, dass wir nur auf die globale Variable zugreifen können, sie jedoch nicht innerhalb der Funktion ändern können.

 

Die Lösung hierfür ist die Verwendung der global Stichwort.

 


 

Beispiel 3: Ändern der globalen Variablen innerhalb einer Funktion mit global

 

c = 0 # Globale Variable

def add():
    global c
    c = c + 2 # increment by 2
    print("innerhalb add():", c)

add()
print("In main:", c)

 

Wenn wir das obige Programm ausführen, lautet die Ausgabe:

innerhalb add(): 2
In main: 2

 

Im obigen Programm definieren wir c als globales Schlüsselwort innerhalb der add()
Funktion.

Dann inkrementieren wir die Variable c durch 1, i.e c = c + 2. Danach nennen wir die add() Funktion. Schließlich drucken wir die globale Variable c.

 

Wie wir sehen, hat sich die globale Variable auch außerhalb der Funktion geändert, c = 2.

 


 

 

Globale Variablen in Python Modulen

 

In Python erstellen wir ein einzelnes Modul config.py um globale Variablen zu speichern und Informationen über Python-Module innerhalb desselben Programms auszutauschen.

Hier sehen Sie, wie wir globale Variablen über die Python-Module hinweg gemeinsam nutzen können.

 

Beispiel 4: Eine globale Variable modulübergreifend in Python verwenden

 

Erstellen einer config.py Datei, um globale Variablen zu speichern

a = 0
b = "empty"

 

Erstellen einer update.py Datei, um globale Variablen zu ändern

 

import config

config.a = 10
config.b = "alphabet"

 

Erstellen einer main.py Datei, um Wertänderungen zu testen

import config
import update

print(config.a)
print(config.b)

 

Wenn wir ausführen main.py Datei, die Ausgabe ist

10
alphabet

 

Oben haben wir drei Dateien erstellt: config.py, update.py, und main.py.

Das Modul config.pyspeichert globale Variablen von a und b.In dem update.py
Datei importieren wir die config.py Modul und ändern Sie die Werte von a und b.
Ebenso in der main.py Datei importieren wir beide config.py und update.py
modul. Schließlich drucken und testen wir die Werte globaler Variablen, unabhängig davon, ob sie geändert wurden oder nicht.

 


 

Global in verschachtelten Funktionen

Hier sehen Sie, wie Sie eine globale Variable in einer verschachtelten Funktion verwenden können.

 

Beispiel 5: Verwenden einer globalen Variablen in einer verschachtelten Funktion

 

def foo():
    x = 20

    def bar():
        global x
        x = 25
    
    print("Vor dem Aufruf der Bar: ", x)
    print("Bar jetzt anrufen")
    bar()
    print("Nach dem Aufruf von bar: ", x)

foo()
print("x in main: ", x)

 

Die Ausgabe ist:

Vor dem Aufruf der bar: 20
bar jetzt anrufen
Nach dem Aufruf von bar: 20
x in main: 25

 

 

Im obigen Programm haben wir eine globale Variable innerhalb der verschachtelten Funktion deklariert bar(). Innerhalb foo() Funktion, x hat keine Auswirkung auf das globale Schlüsselwort.

 

Vor und nach dem Aufrufen bar(), die Variable x nimmt den Wert der lokalen Variablen, d. h. x = 20. Außerhalb der foo()Funktion, die Variable x nimmt den Wert an, der in der bar() Funktion d.h. x = 25. Dies liegt daran, dass wir mit global Stichwort in x um eine globale Variable im . zu erstellen bar() Funktion (lokaler Geltungsbereich).

 

Wenn wir Änderungen innerhalb der vornehmen bar() Funktion erscheinen die Änderungen außerhalb des lokalen Geltungsbereichs, d.h. foo().