Nuancen im Umgang mit Gültigkeitsbereichen in Python
Betrachten wir wichtige Nuancen im Umgang mit lokalen und globalen Variablen.
Angenommen, wir haben eine globale Variable num.
Lassen Sie uns eine Funktion func erstellen,
die die globale num
in der Konsole ausgibt:
num = 1
def func():
print(num)
func() # gibt 1 aus
Deklarieren wir nun eine lokale num eine
Zeile unter der Funktion print. Nach
der Ausführung des Codes wird ein Fehler in der Konsole ausgegeben.
Dies geschieht, weil Python
innerhalb der Funktion num
nur als lokale Variable wahrnimmt, die
noch nicht deklariert wurde:
num = 1
def func():
print(num) # gibt einen Fehler aus
num = 2
Lassen Sie uns nun den Code innerhalb der Funktion
so umschreiben, dass sich der Wert der Variable num
um 2 erhöht:
num = 1
def func():
num += 2 # gibt einen Fehler aus
Der Fehler wird dadurch verursacht, dass der Ausdruck num += 2
folgende Schreibweise darstellt:
num = num + 2
Allerdings ist die lokale Variable selbst, zu der addiert wird, noch nicht deklariert. Und dementsprechend gibt Python einen Fehler aus, da man keine Zahl zu einem nicht existierenden Wert addieren kann.
Wie wird das Ergebnis der Ausführung des folgenden Codes sein:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Wie wird das Ergebnis der Ausführung des folgenden Codes sein:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Wie wird das Ergebnis der Ausführung des folgenden Codes sein:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)