Skip to Content
Python robuste
book

Python robuste

by Patrick Viafore
November 2024
Intermediate to advanced
380 pages
10h 55m
French
O'Reilly Media, Inc.
Book available
Content preview from Python robuste

Chapitre 13. Les protocoles

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

J'ai un aveu à faire. J'ai contourné quelque chose dans le système de types de Python qui, à première vue, est contradictoire. Cela a à voir avec une différence essentielle de philosophie entre le système de types d'exécution de Python et les indices de types statiques.

De retour au chapitre 2, j'ai décrit la façon dont Python prend en charge le typage canard. Rappelle-toi que cela signifie que tu peux utiliser des objets dans un contexte à condition que cet objet prenne en charge un ensemble spécifique de comportements. Tu n'as pas besoin d'une classe mère ou d'une structure d'héritage prédéfinie pour utiliser le typage de canard.

Cependant, le vérificateur de type n'a aucune idée de la façon dont il peut gérer le typage en canard sans aucune aide. Le vérificateur de caractères sait comment traiter les types connus au moment de l'analyse statique, mais comment traite-t-il les décisions de typage canard prises au moment de l'exécution ?

Pour remédier à cela, je vais te présenter les protocoles, une fonctionnalité introduite dans Python 3.8. Les protocoles résolvent la contradiction mentionnée ci-dessus ; ils annotent les variables à typage canard pendant la vérification du type. J'expliquerai pourquoi tu as besoin de protocoles, comment définir les tiens et comment les utiliser dans des scénarios avancés. Mais avant de commencer, ...

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

Einfach Python

Einfach Python

Michael Inden
Python Manuel de référence

Python Manuel de référence

Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire, Dominique Maniez

Publisher Resources

ISBN: 9798341619494Supplemental Content