Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctions Imbriquées | Portée des variables, fonctions imbriquées et closures
Concepts de Programmation Fonctionnelle en Python

bookFonctions 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.

1234567891011
def 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))
copy

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 ?

question mark

Pourquoi pourriez-vous définir une fonction à l'intérieur d'une autre fonction ?

Sélectionnez la réponse correcte

question mark

Quelle est la portée d'une variable définie dans une fonction englobante ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 3. Chapitre 3
some-alt