Domina el tipado en Python con ejemplos prácticos: aprende a anotar parámetros, definir el retorno con la flecha -> y tipar listas, diccionarios, tuplas y listas anidadas. Verás cómo el editor usa los tipos para autocompletar y alertar errores, cuándo usar any sin abusar y cómo MyPy ayuda a mantener el código limpio a medida que el proyecto crece.
¿Cómo tipar funciones en Python con parámetros y retorno?
Anotar funciones hace explícito qué datos reciben y devuelven. Se usan dos puntos para parámetros y el operador flecha para el retorno. Así, el editor identifica tipos y ofrece autocompletado.
# función tipada: parámetros y retornodefsuma_clara(a:int, b:int)->int:return a + b
Parámetros tipados con ":" y su tipo: int, str, etc.
Retorno con "->" y el tipo esperado.
El editor muestra tipos y autocompleta según las anotaciones.
¿Qué ventaja práctica ofrece el tipado en proyectos grandes?
Entiendes qué enviar a cada función sin abrir su archivo.
Reduces errores al integrar módulos en muchos archivos.
Documentas el código de forma viva y verificable.
¿Cómo tipar listas, diccionarios y estructuras anidadas?
Para colecciones, usa genéricos con corchetes. Con list indicas que es una lista; con tipos internos, restringes su contenido. Esto habilita autocompletado correcto y validaciones de incompatibilidad.
# lista de artículos: cada elemento es un diccionario con datos como titlearticles:list[dict]=[{"title":"Primer post"},{"title":"Segundo post"},]# lista de listas restringida a stringsmatriz:list[list[str]]=[["artículos","otro"],["más","items"],]
Usa list[...] para tipar listas con su contenido.
El editor solo sugiere métodos válidos de lista tras el punto.
Anida tipos: list[list[str]] para listas de listas de strings.
Tipos básicos disponibles: int, str, list, dict y tuple.
¿Qué ocurre si agregas un tipo incompatible?
El editor marca el item como incompatible con el tipo declarado.
Evitas errores al momento de construir o ejecutar.
Corriges de inmediato antes de que el fallo se propague.
¿Cuándo usar any y cómo apoyarte en mypy?
Cuando migras código sin tipado, any permite avanzar mientras decides los tipos reales. Úsalo con moderación para no perder los beneficios del tipado.
# uso controlado de anyfrom typing importanyarticulos3:list[any]=["texto",123,{"title":"válido"},]
any acepta cualquier tipo de dato.
Útil al mover un proyecto sin typing a código tipado.
No sobreabusar: mejor sin tipado que llenarlo de any en todos los archivos.
Instala la extensión MyPy para detectar errores y empezar a limpiar el código mientras construyes el proyecto.
¿Tienes dudas sobre cómo tipar una estructura específica o una función compleja? Cuéntalo en los comentarios y comparte tu ejemplo para recibir sugerencias.