Globale Variablen sind außerhalb jedweder Funktion definiert und daher überall im Quellcode zugreifbar:

def funktion():          # Definition einer Funktion
    print(globVar)       # Ausgabe der globalen Variable (und Ende der Funktionsdefinition)

Wird eine Variable außerhalb einer Funktion definiert, so ist sie global (überall) zugreifbar.

globVar = "bin eine globale Variable"     # Definition einer globalen Variable   

funktion()               # Aufruf der Funktion

print(globVar)           # Ausgabe der globalen Variable

Warum verwendet man nicht einfach nur globale Variablen. Man bräuchte dann keine Funktionsparameter?

  1. Bei größeren Programmen verliert man wegen tausender globaler Variablen leicht die Übersicht und benutzt eventuell Variablen, die man für andere Dinge bereits einsetzt.
  2. Globale Variablen benötigen für die gesamte Laufzeit des Programms Arbeitsspeicher, auch wenn diese schon längst nicht mehr benutzt werden. Der Speicher lokaler Variablen wird nach Ablauf der Funktion dagegen wieder freigegeben.

Man vermeidet daher normalerweise globale Variablen. Bei sehr laufzeitkritischen Systemen (Echtzeitsystemen) kann es allerdings sinnvoll sein, globale Variablen zu verwenden, denn man vermeidet zeitintensives Kopieren von Werten bei der Parameterübergabe.

 

Last modified: Friday, 9 January 2015, 6:43 PM