CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Complétez l’en-tête de la fonction interne avec le nom de la fonction inner_echo() et un seul paramètre word1.
  • Complétez la fonction echo() de manière à ce qu’elle renvoie inner_echo.
  • Nous avons appelé echo(), en passant 2 comme argument, et nous avons affecté la fonction résultante à twice. Votre tâche consiste à appeler echo(), en passant 3 comme argument. Affectez la fonction résultante à thrice.
  • Appuyez sur Soumettre pour appeler twice() et thrice() 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'))
Modifier et exécuter le code