Fonctions Imbriquées
Glissez pour afficher le menu
Pour organiser votre code afin d'améliorer sa lisibilité, son encapsulation ou sa réutilisation, vous pouvez définir une fonction à l'intérieur d'une autre fonction. Ce sont les fonctions imbriquées. En Python, vous créez une fonction imbriquée en écrivant une définition de fonction à l'intérieur du corps d'une autre. Cela permet de masquer une logique d'assistance qui ne doit pas être accessible de l'extérieur, ou de générer à la volée des fonctions spécialisées.
La syntaxe d'une fonction imbriquée est simple : il suffit de placer une instruction def dans le corps d'une autre instruction def. La fonction interne peut accéder aux variables de la fonction englobante, ce qui est utile pour créer des comportements personnalisés ou des calculs auxiliaires qui dépendent des arguments de la fonction externe.
Une utilisation pratique des fonctions imbriquées consiste à retourner une fonction personnalisée avec des paramètres provenant de la fonction externe. Cela est souvent utilisé en programmation fonctionnelle pour générer des fonctions spécialisées ou pour encapsuler une logique qui ne doit pas polluer l'espace de noms global.
1234567891011def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
1. Pourquoi pourriez-vous définir une fonction à l'intérieur d'une autre fonction ?
2. Quelle est la portée d'une variable définie dans une fonction englobante ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion