Chapitre 4 / 10
Décorateurs
10 leçons dans ce chapitre.
Fonctions comme objets, sans le raccourci @
Python Intermédiaire a déjà montré qu'une fonction peut être passée en argument à une autre. Un décorateur pousse cette idée un cr…
Voir les détails du chapitre
Python Intermédiaire a déjà montré qu'une fonction peut être passée en argument à une autre. Un décorateur pousse cette idée un cran plus loin : une fonction qui reçoit une autre fonction et renvoie une nouvelle fonction qui l'enveloppe. Ce code affiche , , puis . renvoie , une closure (vue dans Python Intermédiaire) qui se souvient de (ici, d'origine) — remplace ensuite la variable par cette vers…
Le décorateur simple avec @
La syntaxe , placée juste audessus d'une définition de fonction, remplace exactement le motif vu à la leçon précédente — en plus l…
Décorer une fonction qui prend des arguments
Les décorateurs vus jusqu'ici ne fonctionnent qu'avec des fonctions sans argument. Pour décorer une fonction qui en prend, l'envel…
Préserver l'identité de la fonction avec functools.wraps
Sans précaution, une fonction décorée perd son nom d'origine : affiche après décoration, pas — gênant pour le débogage ou la docum…
Un décorateur qui prend lui-même des arguments
Un décorateur comme (qui répète l'appel trois fois) a besoin d'un niveau supplémentaire de fonction imbriquée : une fonction qui r…
Plusieurs décorateurs empilés
Une fonction peut avoir plusieurs décorateurs, empilés les uns sur les autres : ils s'appliquent du plus proche de la fonction ver…
Cas d'usage : chronométrer une fonction
Un décorateur peut mesurer le temps d'exécution d'une fonction, avec le module — un cas d'usage concret très courant, qui évite d'…
Cas d'usage : une mise en cache simple
Un décorateur de cache (ou mémoïsation) stocke le résultat d'un appel déjà effectué, pour le renvoyer immédiatement si la fonction…
Unpacking à l'appel : *liste et **dict
Python Intermédiaire a montré / pour définir une fonction acceptant un nombre variable d'arguments. À l'appel, et font l'inverse :…
Cas pratique : un décorateur de journalisation réutilisable
Cette dernière leçon combine , /, et un décorateur avec argument, dans un décorateur de journalisation configurable. Ce que fait c…
Quiz de chapitre
6 questions transversales sur ce chapitre.
Progression du chapitre
0/10 terminées
Accès complet
La première leçon de chaque chapitre est gratuite (10 leçons sur 97).
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 87 leçons restantes de ce module