GuíaBásico

Guía de Tipado y Pydantic

Una anotación de tipo en Python es una etiqueta, no un candado: el intérprete la lee, la guarda y sigue ejecutando sin comprobar nada. Esta guía corrige ese malentendido de raíz y construye, sobre él, un sistema completo de tipado estático y validación en runtime con Pydantic v2. Trabajas sobre un solo caso de estudio realista —Cosecha, una plataforma que conecta productores agrícolas con restaurantes, donde todos los datos vienen de afuera (un CSV desordenado por productor, un webhook de pagos, una API de clima, un formulario web) y ninguno es confiable— y lo llevas de cuarenta funciones sin anotar a un sistema donde lo inválido no puede existir. Aprendes a instalar y leer un verificador de tipos (mypy) sin frustrarte con los primeros 300 errores, a describir la forma real de tus datos con el vocabulario completo de `typing`, a convertir esas descripciones en validación de verdad con Pydantic, a expresar reglas de negocio como código en vez de `if` dispersos, y a diseñar fronteras donde el dato se valida una sola vez para que el resto del sistema deje de programar a la defensiva. La guía cierra con los casos difíciles del mundo real —librerías sin tipos, JSON de forma variable, configuración por variables de entorno, migración de Pydantic v1 a v2— y con el criterio explícito para saber cuándo el tipado estorba y cuándo ceder con una razón escrita.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Distinguir con precisión qué revisa un verificador de tipos (el código, antes de ejecutar) de qué revisa Pydantic (el dato real, mientras el programa corre), y por qué ninguno reemplaza al otro
  • Instalar y ejecutar un verificador de tipos (mypy), leer sus errores sin frustrarte, elegir el nivel de estrictez y adoptar tipos de forma incremental en un proyecto grande
  • Anotar código real con el vocabulario completo de `typing`: colecciones tipadas, uniones, literales y enumeraciones, alias de tipo, genéricos y protocolos
  • Escribir tu primer modelo de Pydantic v2, entender la coerción de datos y leer un `ValidationError` completo, con todos los campos que fallaron
  • Expresar reglas de negocio como validadores de campo y de modelo, distinguiendo las que van en el modelo de las que dependen de estado externo (base de datos, usuario, configuración)
  • Diseñar la arquitectura de fronteras: modelos de entrada, de dominio y de salida, con inmutabilidad y sin programación defensiva río abajo
  • Tipar librerías de terceros sin anotaciones propias con archivos `.pyi`, y acotar `Any` cuando el dato realmente no se puede describir
  • Usar `TypedDict` para diccionarios con forma conocida y tipar configuración leída de variables de entorno
  • Migrar código heredado de Pydantic v1 a v2 reconociendo los cambios de comportamiento, no solo los de nombre de método
  • Justificar por escrito, con criterio de ingeniería, qué partes de un sistema conviene dejar sin tipar y por qué

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Desarrolladores Python de nivel intermedio que ya escriben funciones y clases propias pero nunca usaron un verificador de tipos en serio
  • Devs que conocen Pydantic solo por FastAPI y quieren entenderlo como lo que es: una librería independiente de modelado y validación de datos
  • Equipos que reciben datos externos poco confiables (CSVs de terceros, webhooks, formularios) y necesitan una estrategia de validación, no `if` repartidos por el código
  • Personas migrando un proyecto de Pydantic v1 a v2 que quieren entender los cambios de comportamiento, no solo hacer un buscar-y-reemplazar
  • Cualquiera preparando entrevistas técnicas donde se pregunta por tipado gradual, validación en runtime o diseño de fronteras de datos

Requisitos y materiales

  • Saber Python: funciones, clases, diccionarios, listas, comprensiones, y haber escrito algo más grande que un script
  • No se requiere experiencia previa con tipado ni con ningún verificador de tipos
  • Si vienes de un lenguaje tipado (Java, C#, TypeScript), conviene tener presente que el tipado de Python funciona distinto: es opcional y no se verifica al ejecutar
  • No es necesario conocer FastAPI, SQLAlchemy ni empaquetado de paquetes: esos temas viven en sus propias guías

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!