Verschachtelte Funktionen II
Gut gemacht, du hast gerade eine Funktion in einer anderen Funktion verschachtelt. Ein weiterer cooler Grund für die Verschachtelung von Funktionen ist die Idee eines Closure. Das bedeutet, dass sich die verschachtelte oder innere Funktion den Zustand ihres umschließenden Gültigkeitsbereichs merkt, wenn sie aufgerufen wird. Das heißt, dass alles, was lokal im umschließenden Gültigkeitsbereich definiert ist, der inneren Funktion zur Verfügung steht, auch wenn die äußere Funktion ihre Ausführung beendet hat.
Machen wir weiter! In dieser Übung vervollständigst du die Definition der inneren Funktion inner_echo()
und rufst dann echo()
ein paar Mal auf, jeweils mit einem anderen Argument. Beende die Übung und sieh dir an, was dabei herauskommt!
Diese Übung ist Teil des Kurses
Einführung in Funktionen in Python
Anleitung zur Übung
- Ergänze den Funktionskopf der inneren Funktion mit dem Funktionsnamen
inner_echo()
und einem einzelnen Parameterword1
. - Vervollständige die Funktion
echo()
so, dass sieinner_echo
zurückgibt. - Wir haben
echo()
aufgerufen, wobei wir 2 als Argument übergeben haben, und die resultierende Funktiontwice
zugewiesen. Deine Aufgabe ist es,echo()
aufzurufen und 3 als Argument zu übergeben. Weise die resultierende Funktionthrice
zu. - Klicke auf Absenden, um
twice()
undthrice()
aufzurufen und die Ergebnisse auszugeben.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def ____(____):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))