„In this film we hope to show how not to be seen.“
— How Not to Be Seen · Flying Circus, 1970
Innen ist innen, außen ist außen — Funktionen haben ihren eigenen Raum.
Konzept
Variablen, die du innerhalb einer Funktion definierst, existieren
nur innerhalb dieser Funktion. Nach return sind sie weg. Das
heisst lokaler Scope (Bereich).
def beispiel():
x = 42
print(x)
beispiel()
print(x) # NameError: x ist außerhalb nicht bekannt
Variablen aus dem äußeren Code kannst du in einer Funktion lesen, aber nicht ohne weiteres ändern. Wenn du innerhalb der Funktion einer Variable einen Wert zuweist, wird sie automatisch lokal.
zaehler = 0
def nochmal():
print(zaehler) # lesen geht
nochmal() # gibt 0 aus
Warum ist das nützlich? Weil eine Funktion ungestört arbeiten kann, ohne dass ihre Hilfs-Variablen den restlichen Code stören.
Achtung: Was die Funktion zurückgibt, kommt über return heraus,
nicht über interne Variablen. Wenn du das Ergebnis ausserhalb
brauchst — return nutzen.
Live-Code
Erwartete Ausgabe:
7
Übung
Schreib eine Funktion dreiteln(x), die x / 3 zurückgibt. Speichere
das Ergebnis in einer Variablen und gib sie aus. Nutze die interne
Hilfs-Variable rest in der Funktion, ohne sie ausserhalb anzusprechen.
Quiz
Was passiert, wenn du außerhalb einer Funktion auf eine Variable zugreifst, die nur drinnen definiert wurde?
- [ ] Sie ist
None - [x] Es kommt ein
NameError - [ ] Python sucht automatisch in der Funktion danach
Modul 4 — Funktionen (Basis). Fragen zur Lesson? Der KI-Tutor unten rechts kennt deinen letzten Run.