Curso avanzado: da por sabidos bucles, funciones y listas. Ataca el modelo de objetos y la mutabilidad —de donde sale el 40 % de los bugs raros—, las comprensiones, los decoradores, las dataclasses y el modelo de datos, los generadores para procesar archivos que no caben en memoria, las excepciones, el tipado con mypy, la concurrencia sin mitos sobre el GIL y las pruebas con pytest. Once módulos y catorce ejercicios entre retos corregidos, predicción de salida, trazas paso a paso y caza de bugs. El código no se ejecuta en el navegador: se corrige leyéndolo, igual que en una revisión de código real.
Temario 目次
Nivel 1 — El modelo
Cómo funciona Python por dentroQué es real aquí, qué corres tú, y el entorno virtual con pytest, mypy y ruff.
Una variable es una etiqueta, no una caja. Con el bug del argumento mutable por defecto.
Las cuatro formas, el orden de los for anidados y una traza paso a paso.
Nivel 2 — Estructura
Funciones, clases y flujoLos cinco tipos de parámetro, los cierres en bucles y un decorador que no rompe nada.
Dataclasses, slots y los métodos que Python llama por ti. Con el bug de __eq__ sin __hash__.
Procesar 40 GB en una máquina de 8. Pipelines perezosos y ventanas deslizantes.
Nivel 3 — Robustez
Errores, tipos y concurrenciaLas cuatro cláusulas, el encadenado con `from` y los tres antipatrones que verás en producción.
Protocolos, genéricos y por qué dict.get no devuelve lo que crees.
El GIL, y cuándo hilos, procesos o asyncio. La pregunta correcta es si esperas o calculas.
Nivel 4 — Cierre
Pruebas y proyectoFixtures, parametrización y casos frontera. Escribes las pruebas de una función que ya existe.
Un analizador de logs con memoria constante: dataclass, generador y tipos. Nueve comprobaciones.
Por qué ves candados. El acceso no se deduce de una orden pagada sino de un entitlement activo, y esta sesión no tiene uno para este curso. Entra como ana@criswily.local para verlo desbloqueado y como bruno@criswily.local para comprobar que el bloqueo es real — los dos son del mismo tenant, así que la diferencia no la puede hacer el aislamiento por tenant.
