PaliSkill
← Python intermédiaire

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 l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 92 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.