Funzioni annidate II
Ottimo lavoro, hai appena annidato una funzione all'interno di un'altra funzione. Un'altra ragione interessante per annidare le funzioni è l'idea della chiusura. Questo significa che la funzione annidata o interna ricorda lo stato del suo ambito quando viene chiamata. In questo modo, qualsiasi cosa definita localmente nell'ambito racchiuso è disponibile per la funzione interna anche quando la funzione esterna ha terminato l'esecuzione.
Andiamo avanti allora! In questo esercizio completerai la definizione della funzione interna inner_echo() e poi chiamerai echo() un paio di volte, ognuna con un argomento diverso. Completa l'esercizio e guarda quale sarà il risultato!
Questo esercizio fa parte del corso
Introduzione alle funzioni in Python
Istruzioni dell'esercizio
- Completa l'intestazione della funzione interna con il nome della funzione
inner_echo()e un singolo parametroword1. - Completa la funzione
echo()in modo che restituiscainner_echo. - Abbiamo chiamato
echo(), passando 2 come argomento, e abbiamo assegnato la funzione risultante atwice. Il tuo compito è chiamareecho(), passando 3 come argomento. Assegna la funzione risultante athrice. - Premi Invia per chiamare
twice()ethrice()e stampare i risultati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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'))