Resumen

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 retorno

def suma_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 title
articles: list[dict] = [
    {"title": "Primer post"},
    {"title": "Segundo post"},
]

# lista de listas restringida a strings
matriz: 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 any
from typing import any

articulos3: 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.