Tipos, tipos, y otros tipos de tipos
Desde su primera versión en 1991, Python es un lenguaje con tipos dinámicos y fuertes. Python 3.0 agregó la capacidad de enriquecer las signaturas de funciones con información sobre tipos. Y 3.5 incorporó soporte para tipos estáticos.
Las últimas tres oraciones usan la palabra “tipos”, pero en cada una de ellas el término se refiere a entidades diferentes. A los desarrolladores en Python nos importan los “tipos”, pero la palabra en sí es muy ambigua. A veces podemos ignorar un poquito esa ambigüedad, pero no siempre.
En esta presentación exploraré muchos de los diferentes significados de la palabra “tipo” en Python , y explicaré por qué esas diferencias nos importan. La discusión comparará “type objects”, tipos estáticos, anotaciones de tipos, esos objetos divertidos que podemos encontrar en los módulos “typing” y “types” de la biblioteca estándar, y algunas otras cosas llamadas “type”. Esta charla no es una introducción, y presupone que tienes alguna familiaridad con algunos de estos tipos, al menos a través del uso.
Espero que de esta sesión te lleves claridad de cuáles contextos permiten cada variante de tipo, cómo se puede deducirlo, y porqué Python fue diseñado de este modo.