Skip to Main Content
Python robusto
book

Python robusto

by Patrick Viafore
September 2024
Intermediate to advanced content levelIntermediate to advanced
380 pages
10h 24m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Python robusto

Capítulo 13. Protocolos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Tengo que confesarte algo. He estado eludiendo algo del sistema de tipos de Python que, a primera vista, es contradictorio. Tiene que ver con una diferencia clave de filosofía entre el sistema de tipos en tiempo de ejecución de Python y las sugerencias de tipos estáticos.

En el Capítulo 2 describí cómo Python admite la tipificación de patos. Recuerda que esto significa que puedes utilizar objetos en un contexto siempre que ese objeto soporte un conjunto específico de comportamientos. No necesitas ningún tipo de clase padre o estructura de herencia predefinida para utilizar la tipificación pato.

Sin embargo, el verificador de tipos no tiene ni idea de cómo manejar la tipificación duck sin ninguna ayuda. El verificador de tipos sabe cómo manejar los tipos conocidos en tiempo de análisis estático, pero ¿cómo maneja las decisiones de tipado duck tomadas en tiempo de ejecución?

Para remediarlo, voy a introducir los protocolos, una característica introducida en Python 3.8. Los protocolos resuelven la contradicción anterior: anotan las variables de tipo pato durante la comprobación tipográfica. Explicaré por qué necesitas protocolos, cómo definir los tuyos propios y cómo utilizarlos en situaciones avanzadas. Pero antes de empezar, debes comprender la desconexión entre la tipificación de pato de Python y los verificadores estáticos de tipos.

Tensión ...

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

Potente Python

Potente Python

Aaron Maxwell
Escalando Python con Dask

Escalando Python con Dask

Holden Karau, Mika Kimmins

Publisher Resources

ISBN: 9781098188108Supplemental Content