Verschachtelte Funktionen II
Gut gemacht, du hast gerade eine Funktion in einer anderen Funktion verschachtelt. Ein weiterer hervorragender Grund für die Verschachtelung von Funktionen ist das Konzept einer Closure. Das bedeutet, dass sich die verschachtelte oder innere Funktion den Zustand ihres umschließenden Geltungsbereichs merkt, wenn sie aufgerufen wird. Das heißt, dass alles, was lokal im umschließenden Geltungsbereichs 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_echozurückgibt. - Wir haben
echo()aufgerufen, wobei wir 2 als Argument übergeben haben, und die resultierende Funktiontwicezugewiesen. Deine Aufgabe ist es,echo()aufzurufen und 3 als Argument zu übergeben. Weise die resultierende Funktionthricezu. - Klicke auf Absenden, um
twice()undthrice()aufzurufen und die Ergebnisse auszugeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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'))