Zum Hauptinhalt springen
Veröffentlicht am

Globale und Lokale Variablen in Python

Teilen:

Einführung

In der Welt der Python-Programmierung ist das Verständnis von globalen und lokalen Variablen entscheidend. Diese beiden Variablenkategorien unterscheiden sich in ihrem Anwendungsbereich, und dieser Unterschied kann das Verhalten und die Struktur des Codes direkt beeinflussen.

Globale und Lokale Variablen verstehen

Globale Variablen

Globale Variablen sind solche, die außerhalb jeder Funktion definiert werden und von überall im Code zugänglich sind, es sei denn, sie werden im lokalen Gültigkeitsbereich einer Funktion überschrieben.

Lokale Variablen

Im Gegensatz zu globalen Variablen sind lokale Variablen solche, die innerhalb einer Funktion definiert werden und nur innerhalb dieses Kontexts zugänglich sind.

zugriff = 'Global'

def zugriffsaendern():
  zugriff = 'Lokal'
  print('Zugriff innerhalb der Funktion:', zugriff)

zugriffsaendern()
print('Zugriff außerhalb der Funktion:', zugriff)

Das obige Beispiel veranschaulicht den Unterschied zwischen den beiden Variablentypen gut. Die Variable zugriff, obwohl global als 'Global' definiert, wird innerhalb der Funktion lokal zu 'Lokal' überschrieben.

Das Schlüsselwort global

Wenn du eine globale Variable von innerhalb einer Funktion heraus ändern möchtest, musst du das Schlüsselwort global verwenden.

zugriff = 'Global'

def globalenZugriffAendern():
  global zugriff
  zugriff = 'Global Geändert'
  print('Zugriff innerhalb der Funktion:', zugriff)

globalenZugriffAendern()
print('Zugriff außerhalb der Funktion:', zugriff)

Mit dem Schlüsselwort global können wir die Variable zugriff global direkt aus der Funktion globalenZugriffAendern heraus ändern.

Fazit

Das Konzept und die korrekte Verwendung von globalen und lokalen Variablen sind in Python grundlegend. Es ist wichtig, den Unterschied zwischen ihnen zu kennen, um Fehler und unerwünschtes Verhalten im Code zu vermeiden. Durch ihren sachgerechten Einsatz lässt sich strukturierteren und lesbaren Code schreiben.

Happy coding!