Python de Cero a Experto / Python avanzado
Reto: pipeline de datos perezoso
Junta lo mejor del módulo en un pipeline de datos elegante para Mi Bolsillo: generadores que procesan gastos PEREZOSAMENTE (uno a la vez, sin cargar todo), encadenados como una línea de ensamblaje, con un decorador que cronometra el proceso. Es un patrón profesional para procesar flujos de datos de forma eficiente y componible —el tipo de código que caracteriza a un desarrollador Python experto—.
Reto
Pipeline perezoso
Qué debes construir
Un pipeline de procesamiento de gastos usando generadores encadenados y un decorador:
- Un decorador
@cronometroque mida e imprima cuánto tarda la función que envuelve (usafunctools.wraps). - Generadores encadenados (cada uno recibe un iterable y hace
yield):solo_validos(gastos): produce solo los gastos convalor > 0.con_iva(gastos): produce cada gasto con una nueva clavetotal(valor × 1.19).de_categoria(gastos, categoria): produce solo los de esa categoría.
- Encadénalos en un pipeline perezoso (la salida de uno es la entrada del otro).
- Consúmelo con una función decorada que sume los totales, y muestra un reporte.
Reglas
- Cada transformación es un generador (
yield), no una lista —el pipeline es perezoso—. - Los generadores se encadenan:
de_categoria(con_iva(solo_validos(gastos)), "comida"). - Usa
@cronometrocon@wrapsen la función que consume el pipeline.
35:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 6 conquistado: dominas el Python avanzado —generadores, decoradores, typing, pattern matching, asyncio— y el estilo pythónico experto. Terminaste el TRONCO COMÚN del curso (fundamentos → avanzado). Lo que sigue son las tres RUTAS especializadas donde Python muestra su poder real: SCRIPTING (automatizar tareas), BACKEND (APIs con FastAPI) y DATOS E IA (NumPy, Pandas, machine learning). Elige tu camino —o recórrelos todos—.