Python Globale Variablen (engl.: Global Variables): Globale Variablen in Python sind Variablen, die außerhalb von Funktionen oder Klassen definiert sind und somit im gesamten Programm verfügbar sind. Sie können sowohl innerhalb als auch außerhalb von Funktionen oder Klassen verwendet werden. Der Unterschied zu lokalen Variablen, die nur innerhalb ihrer Funktion oder ihres Blocks sichtbar sind, besteht darin, dass globale Variablen von jedem Teil des Programms aus erreichbar sind.
1. Globale Variablen definieren
Eine globale Variable wird einfach außerhalb jeder Funktion oder Klasse definiert.
Beispiel:
x = 10 # Globale Variable
def meine_funktion():
print(x) # Zugriff auf die globale Variable innerhalb der Funktion
meine_funktion()
Ausgabe:
10
In diesem Beispiel ist x
eine globale Variable, die außerhalb der Funktion definiert wurde und innerhalb der Funktion zugänglich ist.
2. Globale Variablen innerhalb von Funktionen verwenden
Sie können innerhalb von Funktionen auf globale Variablen zugreifen, sie jedoch nicht ohne Weiteres ändern. Wenn Sie versuchen, eine globale Variable innerhalb einer Funktion zu ändern, erstellt Python standardmäßig eine neue lokale Variable.
Beispiel:
x = 10
def meine_funktion():
x = 5 # Lokale Variable, nicht die globale Variable
print(x)
meine_funktion()
print(x) # Die globale Variable bleibt unverändert
Ausgabe:
5
10
Hier wird die globale Variable x
innerhalb der Funktion nicht verändert, da Python automatisch eine neue lokale Variable x
innerhalb der Funktion erstellt.
3. Globale Variablen in Funktionen ändern
Um eine globale Variable innerhalb einer Funktion zu ändern, müssen Sie das global
-Schlüsselwort verwenden. Dieses Schlüsselwort weist Python an, die Variable als global zu behandeln und nicht als lokale.
Beispiel:
x = 10
def meine_funktion():
global x # Zugriff auf die globale Variable
x = 5 # Ändert die globale Variable
print(x)
meine_funktion()
print(x) # Die globale Variable wurde geändert
Ausgabe:
5
5
Durch die Verwendung des global
-Schlüsselworts wird die globale Variable x
innerhalb der Funktion geändert, und diese Änderung ist auch außerhalb der Funktion sichtbar.
4. Globale Variablen in Kombination mit lokalen Variablen
Es ist möglich, in einem Programm sowohl globale als auch lokale Variablen zu verwenden. Lokale Variablen überschreiben innerhalb ihrer Funktion die globalen Variablen.
Beispiel:
x = 10 # Globale Variable
def meine_funktion():
x = 5 # Lokale Variable
print(x) # Ausgabe der lokalen Variable
meine_funktion()
print(x) # Ausgabe der globalen Variable
Ausgabe:
5
10
In diesem Fall bleibt die globale Variable außerhalb der Funktion unberührt, da die lokale Variable x
die globale Variable innerhalb der Funktion überschreibt.
5. Verwendung globaler Variablen in mehreren Funktionen
Eine globale Variable kann von mehreren Funktionen verwendet und geändert werden, wenn das global
-Schlüsselwort in jeder Funktion verwendet wird.
Beispiel:
x = 0
def funktion1():
global x
x = x + 5
def funktion2():
global x
x = x * 2
funktion1()
print(x) # Ausgabe: 5
funktion2()
print(x) # Ausgabe: 10
Hier wird die globale Variable x
in beiden Funktionen geändert und beeinflusst das gesamte Programm.
Häufig gestellte Fragen
Was ist eine globale Variable in Python?
Eine globale Variable ist eine Variable, die außerhalb von Funktionen oder Klassen definiert ist und im gesamten Programm zugänglich ist.
Wie greife ich innerhalb einer Funktion auf eine globale Variable zu?
Sie können innerhalb einer Funktion direkt auf eine globale Variable zugreifen, jedoch ohne sie zu ändern. Um sie zu ändern, müssen Sie das global
-Schlüsselwort verwenden.
Was passiert, wenn ich eine globale Variable ohne das global-Schlüsselwort innerhalb einer Funktion ändere?
Ohne das global
-Schlüsselwort erstellt Python eine neue lokale Variable, die nur innerhalb der Funktion existiert, und die globale Variable bleibt unverändert.
Kann ich eine globale Variable in mehreren Funktionen verwenden?
Ja, Sie können eine globale Variable in mehreren Funktionen verwenden und mit dem global
-Schlüsselwort ändern.
Sind globale Variablen eine gute Praxis in Python?
Generell sollte die Verwendung globaler Variablen minimiert werden, da sie die Fehleranfälligkeit und die Komplexität des Codes erhöhen können. Es ist oft besser, Daten über Funktionsparameter und Rückgabewerte zu verwalten.