Leçon 7 / 9 — Chapitre 2: Fonctions avancées
Fonctions imbriquées
Une fonction peut être définie à l'intérieur d'une autre fonction. Cette fonction intérieure n'existe que pendant l'exécution de la fonction extérieure, et ne peut pas être appelée depuis l'extérieur.
def calculer_facture(montant):
def appliquer_remise(valeur):
return valeur * 0.9
return appliquer_remise(montant)
print(calculer_facture(100))
Ce code affiche 90.0. appliquer_remise n'existe que le temps de l'exécution de calculer_facture : tenter d'appeler appliquer_remise(100) directement, en dehors de calculer_facture, provoquerait une erreur NameError, car ce nom n'est pas defini à ce niveau.
Ce decoupage est utile quand une petite fonction n'a de sens que dans le contexte d'une seule autre fonction, sans avoir besoin d'exister de manière independante ailleurs dans le programme.
A vous de jouer : ecrivez une fonction traiter_commande(montant) qui définit à l'intérieur une fonction arrondir(valeur) renvoyant round(valeur, 2), et l'utilise avant de renvoyer le résultat.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès