Repaso
English
PythonAvanzadoPY-20

¿Qué herramienta de typing permite que un type checker acepte cualquier objeto con un método read(), sin herencia?

Opciones

  1. typing.Protocol (Opción correcta)
  2. abc.ABC
  3. typing.TypeVar
  4. typing.Final

Respuesta

typing.Protocol

Por qué

Hay dos formas de decidir que un tipo es compatible. Nominal: la clase debe heredar de una clase base (como un ABC). Estructural: la clase solo necesita los métodos correctos (duck typing).

typing.Protocol da tipado estructural a los type checkers: cualquier objeto con un método read() encaja con un Protocol que declare read(), sin heredar de nada.

Recuerda

Protocol = duck typing que los type checkers entienden.

Términos clave

Practica esta pregunta en Repaso