Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verschachtelte Funktionen | Variablenbereich, Verschachtelte Funktionen und Closures
Funktionale Programmierkonzepte in Python

bookVerschachtelte Funktionen

Swipe um das Menü anzuzeigen

Um den Code besser lesbar, gekapselt oder wiederverwendbar zu gestalten, kann eine Funktion innerhalb einer anderen Funktion definiert werden. Diese werden als verschachtelte Funktionen bezeichnet. In Python erstellt man eine verschachtelte Funktion, indem man eine Funktionsdefinition in den Rumpf einer anderen schreibt. Dadurch kann Hilfslogik verborgen werden, die von außen nicht zugänglich sein soll, oder spezialisierte Funktionen können dynamisch erzeugt werden.

Die Syntax für eine verschachtelte Funktion ist einfach: Eine def-Anweisung wird innerhalb des Rumpfes einer anderen def platziert. Die innere Funktion kann auf Variablen der umschließenden Funktion zugreifen, was nützlich ist, um angepasste Verhaltensweisen oder Hilfsberechnungen zu erstellen, die von den Argumenten der äußeren Funktion abhängen.

Ein praktischer Anwendungsfall verschachtelter Funktionen ist das Zurückgeben einer Funktion, die mit Parametern der äußeren Funktion angepasst wurde. Dies wird im funktionalen Programmieren häufig verwendet, um spezialisierte Funktionen zu erzeugen oder Logik zu kapseln, die den globalen Namensraum nicht verunreinigen soll.

1234567891011
def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
copy

1. Warum könnte man eine Funktion innerhalb einer anderen Funktion definieren?

2. Welchen Gültigkeitsbereich hat eine in einer umschließenden Funktion definierte Variable?

question mark

Warum könnte man eine Funktion innerhalb einer anderen Funktion definieren?

Wählen Sie die richtige Antwort aus

question mark

Welchen Gültigkeitsbereich hat eine in einer umschließenden Funktion definierte Variable?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 3
some-alt