Globale und lokale Variablen
Globale und lokale Variablen in Funktionen
Betrachten wir das folgende Beispielprogramm:
def foo(x, y):
global a
a = 42
x,y = y,x
b = 33
b = 17
c = 100
print a,b,x,y
a,b,x,y = 1,15,3,4
foo(17,4)
print a,b,x,y
Die Ausgabe sieht wie folgt aus:
42 17 4 17 42 15 3 4Dadurch dass die Variable a in der Funktion foo() als global deklariert wurde, kann man schreibend und lesend in der Funktion darauf zugreifen. Die formalen Parameter x und y erhalten beim Aufruf entsprechend die Werte 17 und 4. Man beachte jedoch, dass sich die formalen Parameter x und y wie lokale Variablen innerhalb von foo() verhalten. Das bedeutet, dass Wertänderungen keinen Einfluss auf die globalen Variablen x und y haben. In foo() wird auch eine Variable b benutzt, diese ist jedoch lokal und hat nichts mit der gleichnamigen Variablen b gemeinsam. Die Variable c führt in dieser (ohnehin sinnlosen) Funktion ein ebenfalls wirkungsloses Dasein. Ihr wird ein Wert zugewiesen, dann wird die Variable c nach dem Verlassen der Funktion wieder vergessen.

Buch kaufen
Buch kaufen
Buch kaufen
