Python IV: herramientas para programas reales

Archivos, regex, testing propio y organizar código que crece.

14 aulas · 6 horas de práctica · en el navegador, sin instalar nada

Temario

  1. Buscar patrones con `re` — search, match y findall: cuando `"x" in texto` ya no alcanza para describir lo que buscás.
  2. Grupos y `sub`: partir y reemplazar — Los paréntesis capturan pedazos del patrón; `sub` los usa para transformar texto sin escribir un parser.
  3. Archivos: `open` y `with` — Escribir y leer texto en disco, y por qué `with` no es una formalidad.
  4. Taller — Parser de logs — Un parser que lee un log de disco, lo desarma con regex, anonimiza lo sensible y escribe un reporte — con regex y archivos, nada más.
  5. JSON: estructuras que viajan — dumps y loads: el viaje de ida y vuelta entre estructuras de Python y texto que cualquier otro programa entiende.
  6. Una familia de errores propios — Una excepción propia por tipo de problema, todas bajo un mismo techo, para poder atrapar una sola o todas juntas.
  7. `@dataclass`: menos ceremonia para guardar datos — Un decorador que escribe __init__, __repr__ y __eq__ por vos, y el detalle que hay que saber sobre defaults mutables.
  8. Taller — Validador de configuración — Un validador que parsea JSON, distingue el tipo exacto de problema con una jerarquía de excepciones propias, y arma un dataclass solo cuando todo cierra.
  9. `Enum`: un conjunto cerrado de valores — Por qué "pendiente" escrito a mano en diez lugares distintos es una bomba de tiempo, y Enum no.
  10. `logging`: no es un `print` con fecha — Niveles que se pueden apagar y prender, y un mensaje que sabe qué tan grave es.
  11. Tu propio mini test-runner — Arrange-act-assert, un helper que lanza en vez de comparar a mano, y un reporte armado con lo que ya tenés.
  12. Organizar un programa que crece — El patrón `if __name__ == "__main__"`, y un `main(argv, ...)` que se puede probar sin necesitar una terminal.
  13. Taller — Tu CLI de tareas — El cierre de la carrera: un rastreador de tareas por línea de comandos con estado cerrado, logging, sus propios tests y un dispatcher — todo lo que ya tenés, junto.
  14. Taller — El verificador de repartos — Un repartidor de cartas que no es de fiar, probado con el mini test-runner de la aula 9 — y la mesa real, mano contra mano, como veredicto.

Es parte de