Fonctions II imbriquées
Bien joué, vous venez d’imbriquer une fonction dans une autre fonction. Une autre raison très intéressante d’imbriquer les fonctions est l’idée d’une fermeture. Cela signifie que la fonction imbriquée ou interne se souvient de l’état de la portée qui l’entoure lorsqu’elle est appelée. Ainsi, tout ce qui est défini localement dans la portée qui l’englobe est disponible pour la fonction intérieure, même lorsque la fonction extérieure a terminé son exécution.
Allons de l’avant dans ce cas ! Dans cet exercice, vous compléterez la définition de la fonction interne inner_echo()
et appellerez ensuite echo()
plusieurs fois, chacune avec un argument différent. Faites l’exercice et observez le résultat !
Cet exercice fait partie du cours
Introduction aux fonctions en Python
Instructions
- Complétez l’en-tête de la fonction interne avec le nom de la fonction
inner_echo()
et un seul paramètreword1
. - Complétez la fonction
echo()
de manière à ce qu’elle renvoieinner_echo
. - Nous avons appelé
echo()
, en passant 2 comme argument, et nous avons affecté la fonction résultante àtwice
. Votre tâche consiste à appelerecho()
, en passant 3 comme argument. Affectez la fonction résultante àthrice
. - Appuyez sur Soumettre pour appeler
twice()
etthrice()
et afficher les résultats.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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'))