Erste SchritteKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Ergänze den Funktionskopf der inneren Funktion mit dem Funktionsnamen inner_echo() und einem einzelnen Parameter word1.
  • Vervollständige die Funktion echo() so, dass sie inner_echo zurückgibt.
  • Wir haben echo() aufgerufen, wobei wir 2 als Argument übergeben haben, und die resultierende Funktion twice zugewiesen. Deine Aufgabe ist es, echo() aufzurufen und 3 als Argument zu übergeben. Weise die resultierende Funktion thrice zu.
  • Klicke auf Absenden, um twice() und thrice() 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'))
Bearbeiten und Ausführen von Code