Globale Python-Variablen sind solche, die in keiner Funktion definiert sind und im Gegensatz zu Python einen globalen Gültigkeitsbereich haben lokale Variablen sind solche, die innerhalb einer Funktion definiert sind und deren Geltungsbereich nur auf diese Funktion beschränkt ist. Mit anderen Worten können wir sagen, dass auf lokale Variablen nur innerhalb der Funktion zugegriffen werden kann, in der sie initialisiert wurden, während auf globale Variablen im gesamten Programm und innerhalb jeder Funktion zugegriffen werden kann.
Lokale Python-Variablen
Lokale Variablen in Python sind solche, die innerhalb einer Funktion initialisiert werden und nur zu dieser bestimmten Funktion gehören. Es kann nirgendwo außerhalb der Funktion darauf zugegriffen werden. Sehen wir uns an, wie man eine lokale Variable erstellt.
Lokale Variablen in Python erstellen
Lokale Variablen definieren und darauf zugreifen
Python3
YouTube-Video mit VLC herunterladen
def> f():> > # local variable> > s> => 'I love Geeksforgeeks'> > print> (s)> # Driver code> f()> |
>
>Ausgabe
I love Geeksforgeeks>
Kann eine lokale Variable außerhalb einer Funktion verwendet werden?
Wenn wir versuchen, diese lokale Variable außerhalb der Funktion zu verwenden, wollen wir sehen, was passiert.
Python3
def> f():> > > # local variable> > s> => 'I love Geeksforgeeks'> > print> (> 'Inside Function:'> , s)> # Driver code> f()> print> (s)> |
>
>
Ausgabe:
NameError : name 's' is not defined>
Globale Python-Variablen
Dies sind diejenigen, die außerhalb jeder Funktion definiert sind und auf die im gesamten Programm zugegriffen werden kann, d. h. innerhalb und außerhalb jeder Funktion. Sehen wir uns an, wie man eine globale Python-Variable erstellt.
Erstellen Sie eine globale Variable in Python
Definieren und Zugreifen auf globale Python-Variablen.
Python3
# This function uses global variable s> def> f():> > print> (> 'Inside Function'> , s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> print> (> 'Outside Function'> , s)> |
>
>Ausgabe
Inside Function I love Geeksforgeeks Outside Function I love Geeksforgeeks>
Die Variable s ist als globale Variable definiert und wird sowohl innerhalb der Funktion als auch außerhalb der Funktion verwendet.
Notiz: Da es keine lokalen Variablen gibt, wird der Wert der globalen Variablen verwendet. Stellen Sie jedoch sicher, dass sowohl die lokalen als auch die globalen Variablen denselben Namen haben.
Warum verwenden wir in Python lokale und globale Variablen?
Was ist nun, wenn eine Python-Variable mit demselben Namen sowohl innerhalb einer Funktion als auch global initialisiert wird? Nun stellt sich die Frage: Wird die lokale Variable einen Einfluss auf die globale Variable haben oder umgekehrt, und was passiert, wenn wir den Wert einer Variablen innerhalb der Funktion f() ändern? Wird es auch die Globals betreffen? Wir testen es im folgenden Codeteil:
Beispiel
Wenn eine Variable mit demselben Namen auch innerhalb des Funktionsumfangs definiert ist, wird nur der innerhalb der Funktion angegebene Wert und nicht der globale Wert ausgegeben.
Python3
# This function has a variable with> # name same as s.> def> f():> > s> => 'Me too.'> > print> (s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> print> (s)> |
>
>Ausgabe
Me too. I love Geeksforgeeks>
Was ist nun, wenn wir versuchen, den Wert einer globalen Variablen innerhalb der Funktion zu ändern? Sehen wir uns das anhand des folgenden Beispiels an.
Python3
# This function uses global variable s> def> f():> > s> +> => 'GFG'> > print> (> 'Inside Function'> , s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> |
>
>
Ausgabe:
UnboundLocalError : local variable 's' referenced before assignment>
Damit das obige Programm funktioniert, müssen wir das globale Schlüsselwort in Python verwenden. Mal sehen, was dieses globale Schlüsselwort ist.
Das globale Schlüsselwort
Wir müssen nur das verwenden globales Schlüsselwort in einer Funktion, wenn wir Zuweisungen durchführen oder die globale Variable ändern möchten. Global wird zum Drucken und Zugreifen nicht benötigt. Python geht aufgrund der Zuweisung zu s innerhalb von f() davon aus, dass wir eine lokale Variable benötigen, daher gibt die erste Anweisung die Fehlermeldung aus. Jede Variable, die innerhalb einer Funktion geändert oder erstellt wird, ist lokal, sofern sie nicht als globale Variable deklariert wurde. Um Python mitzuteilen, dass wir die globale Variable verwenden möchten, müssen wir das Schlüsselwort verwenden global , wie im folgenden Beispiel zu sehen ist:
Beispiel 1: Verwendung des globalen Python-Schlüsselworts
Python3
# This function modifies the global variable 's'> def> f():> > global> s> > s> +> => ' GFG'> > print> (s)> > s> => 'Look for Geeksforgeeks Python Section'> > print> (s)> # Global Scope> s> => 'Python is great!'> f()> print> (s)> |
>
>Ausgabe
Python is great! GFG Look for Geeksforgeeks Python Section Look for Geeksforgeeks Python Section>
Jetzt gibt es keine Unklarheiten.
long zu int Java
Beispiel 2: Verwendung globaler und lokaler Python-Variablen
Python3
a> => 1> # Uses global because there is no local 'a'> def> f():> > print> (> 'Inside f() : '> , a)> # Variable 'a' is redefined as a local> def> g():> > a> => 2> > print> (> 'Inside g() : '> , a)> # Uses global keyword to modify global 'a'> def> h():> > global> a> > a> => 3> > print> (> 'Inside h() : '> , a)> # Global scope> print> (> 'global : '> , a)> f()> print> (> 'global : '> , a)> g()> print> (> 'global : '> , a)> h()> print> (> 'global : '> , a)> |
>
>Ausgabe
global : 1 Inside f() : 1 global : 1 Inside g() : 2 global : 1 Inside h() : 3 global : 3>
Unterschied s/w Lokale Variable vs. Globale Variablen
Vergleichsbasis | Globale Variable | Lokale Variable |
Definition | außerhalb der Funktionen deklariert | innerhalb der Funktionen deklariert |
Lebensdauer | Sie werden zu Beginn der Programmausführung erstellt und gehen verloren, wenn das Programm beendet wird | Sie werden erstellt, wenn die Funktion mit der Ausführung beginnt, und gehen verloren, wenn die Funktion endet |
Datenübertragung | Bietet Datenaustausch | Es bietet keine Datenfreigabe |
Umfang | Kann im gesamten Code aufgerufen werden | Kann nur innerhalb der Funktion zugreifen |
Benötigte Parameter | Eine Parameterübergabe ist nicht erforderlich | Parameterübergabe ist erforderlich |
Lagerung | Ein vom Compiler ausgewählter fester Speicherort | Sie bleiben auf dem Stapel |
Wert | Sobald sich der Wert ändert, wird er im gesamten Code widergespiegelt | Sobald die Variable geändert wurde, hat sie keinen Einfluss auf andere Funktionen des Programms |