Scope — wo Variablen leben

16.05.2026 17:47
„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

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

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.

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

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.

Stichworte

Python Einsteiger Kurs