Skip to Content
Fluent Python, 2ème édition
book

Fluent Python, 2ème édition

by Luciano Ramalho
November 2024
Intermediate to advanced
1014 pages
27h 21m
French
O'Reilly Media, Inc.
Book available
Content preview from Fluent Python, 2ème édition

Chapitre 9. Décorateurs et fermetures

Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com

Le choix du nom "décorateur" pour cette fonctionnalité a suscité un certain nombre de plaintes. La principale est que le nom n'est pas cohérent avec l'utilisation qui en est faite dans le livre du GoF.1 Le nom de décorateur doit probablement plus à son utilisation dans le domaine de la compilation - un arbre syntaxique est parcouru et annoté.

PEP 318 - Décorateurs pour les fonctions et les méthodes

Les décorateurs de fonctions nous permettent de "marquer" les fonctions dans le code source afin d'améliorer leur comportement d'une manière ou d'une autre. C'est un outil puissant, mais pour le maîtriser, il faut comprendre les fermetures, c'est-à-dire ce que nous obtenons lorsque les fonctions capturent des variables définies à l'extérieur de leur corps.

Le mot-clé réservé le plus obscur de Python est nonlocal, introduit dans Python 3.0. Tu peux avoir une vie rentable en tant que programmeur Python sans jamais l'utiliser si tu adhères à un régime strict d'orientation objet centrée sur les classes. Cependant, si tu veux mettre en œuvre tes propres décorateurs de fonctions, tu dois comprendre les fermetures, et c'est alors que la nécessité de nonlocal devient évidente.

Outre leur application dans les décorateurs, les fermetures sont également essentielles pour tout type de programmation utilisant des rappels, et pour ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Fluent Python, 2nd Edition

Fluent Python, 2nd Edition

Luciano Ramalho

Publisher Resources

ISBN: 9798341618954Supplemental Content