Funções aninhadas II
Ótimo trabalho, você acabou de aninhar uma função dentro de outra função. Um outro motivo muito interessante para aninhar funções é a ideia de um fechamento. Isso significa que a função aninhada ou interna lembra o estado do escopo que a envolve quando é chamada. Assim, tudo o que for definido localmente no escopo de inclusão estará disponível para a função interna mesmo quando a função externa tiver concluído a execução.
Então, vamos seguir em frente! Neste exercício, você concluirá a definição da função interna inner_echo()
e, em seguida, chamará echo()
algumas vezes, cada uma com um argumento diferente. Conclua o exercício e veja qual será o resultado!
Este exercício faz parte do curso
Introdução a funções em Python
Instruções de exercício
- Complete o cabeçalho da função interna com o nome da função
inner_echo()
e um único parâmetroword1
. - Complete a função
echo()
de modo que ela retorneinner_echo
. - Chamamos
echo()
, passando 2 como argumento, e atribuímos a função resultante atwice
. Sua tarefa é chamarecho()
, passando 3 como argumento. Atribua a função resultante athrice
. - Pressione Enviar para chamar
twice()
ethrice()
e imprimir os resultados.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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'))