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
Pokyny k cvičení
- Doplň hlavičku vnitřní funkce s názvem
inner_echo()a jedním parametremword1. - Doplň funkci
echo()tak, aby vracelainner_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 zavolatecho()s argumentem 3 a výslednou funkci přiřadit do proměnnéthrice. - Klikni na Submit a zavolej
twice()athrice()– 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'))