Verschachtelte 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.
1234567891011def 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))
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?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen