Začněte nyníZačněte zdarma

Vnořené funkce II

Skvělá práce – právě jsi vnořil/a jednu funkci do druhé. Dalším zajímavým důvodem pro vnořování funkcí je koncept closure (uzávěru). To znamená, že vnořená neboli vnitřní funkce si pamatuje stav svého ohraničujícího rozsahu v okamžiku volání. Cokoli je definováno lokálně v ohraničujícím rozsahu, je vnitřní funkci dostupné i po dokončení vnější funkce.

Jdeme dál! V tomto cvičení dokončíš definici vnitřní funkce inner_echo() a pak několikrát zavoláš echo() – pokaždé s jiným argumentem. Dokonči cvičení a uvidíš, jaký bude výstup!

Toto cvičení je součástí kurzu

Úvod do funkcí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Doplň hlavičku vnitřní funkce s názvem inner_echo() a jedním parametrem word1.
  • Doplň funkci echo() tak, aby vracela inner_echo.
  • Funkce echo() byla zavolána s argumentem 2 a výsledná funkce byla přiřazena do proměnné twice. Tvým úkolem je zavolat echo() s argumentem 3 a výslednou funkci přiřadit do proměnné thrice.
  • Klikni na Submit a zavolej twice() a thrice() – výsledky se vypíší.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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'))
Upravit a spustit kód