Kom igångKom igång gratis

Nästlade funktioner II

Bra jobbat – du har precis nästlat en funktion inuti en annan. Ytterligare ett intressant skäl att nästla funktioner är begreppet closure. Det innebär att den nästlade, eller inre, funktionen kommer ihåg tillståndet i det omslutande scopet när den anropas. Allt som definieras lokalt i det omslutande scopet är alltså tillgängligt för den inre funktionen, även efter att den yttre funktionen har körts klart.

Låt oss gå vidare! I den här övningen ska du färdigställa definitionen av den inre funktionen inner_echo() och sedan anropa echo() ett par gånger, varje gång med ett olika argument. Slutför övningen och se vad resultatet blir!

Den här övningen är en del av kursen

Introduktion till funktioner i Python

Visa kurs

Övningsinstruktioner

  • Fyll i funktionshuvudet för den inre funktionen med funktionsnamnet inner_echo() och en enda parameter word1.
  • Färdigställ funktionen echo() så att den returnerar inner_echo.
  • Vi har anropat echo() med 2 som argument och tilldelat den resulterande funktionen till twice. Din uppgift är att anropa echo() med 3 som argument och tilldela den resulterande funktionen till thrice.
  • Klicka på Skicka in svar för att anropa twice() och thrice() och skriva ut resultaten.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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'))
Redigera och kör kod