In Python können Funktionen innerhalb anderer Funktionen definiert werden. Diese inneren Funktionen sind auch als verschachtelte oder lokale Funktionen bekannt. Sie sind ein wichtiges Konzept, das in Closures, Decorators und anderen höherstufigen Funktionen in Python verwendet wird.
Ein einfaches Beispiel, um das Konzept zu veranschaulichen:
def outer_function(x): def inner_function(y): return x + y return inner_function add_five = outer_function(5) print(add_five(3)) # Output: 8
In diesem Beispiel ist inner_function
die innere Funktion und outer_function
die äußere Funktion. add_five
ist ein Beispiel für ein Closure, das die innere Funktion zusammen mit dem Umgebungskontext (der Wert von x
) speichert.
Innere Funktionen haben Zugriff auf die Variablen und Parameter der äußeren Funktion, selbst wenn die äußere Funktion bereits beendet wurde. Dies wird als Closure
bezeichnet.
def outer_function(x): def inner_function(y): return x + y return inner_function add_five = outer_function(5) print(add_five(3)) # Output: 8
In diesem Beispiel behält add_five
den Wert von x
(5) bei, auch nachdem outer_function
beendet wurde.
Durch das Verständnis der Funktionsweise innerer und äußerer Funktionen kann man komplexere und modularere Code-Strukturen in Python erstellen.