Saltar al contenido
Saltar al contenido principal

Bienvenido a Python Backend — donde tu código empieza a organizarse solo

Si llegas de Fundamentos de Python, ya sabes lo que hace falta para estar aquí: escribes funciones, manejas diccionarios y listas, y no te asusta un for. Eso es exactamente lo que este curso asume. No vamos a repasar variables ni condicionales — vamos a construir sobre lo que ya tienes.

Bienvenidos a casa, otra vez.


El problema que seguro ya sentiste​

Tu Sistema de Gestión de Inadaptados (SGI) — ese CRUD de consola que armaste con funciones y diccionarios — funcionaba perfecto cuando era chico. Pero seguiste agregándole cosas, y en algún momento empezó a doler.

¿Te suena alguno de estos síntomas?

  • El dato (el diccionario de una tarea) y la acción que lo cambia (la función que la marca como completada) viven en archivos distintos, y cada vez cuesta más recordar cuál función toca qué.
  • Cualquier parte del programa puede escribir directo sobre una llave del diccionario, sin pasar por ninguna validación. Nada te protege de romper tu propio dato por accidente.
  • Agregar una función más se siente cada vez menos como construir y cada vez más como parchar.

Eso no es que programes mal. Es que llegaste al límite natural de las funciones sueltas — y es exactamente la señal de que es momento de aprender programación orientada a objetos (POO).


Qué vas a hacer en este sprint​

Nada de proyectos de juguete inventados para la ocasión. Vas a tomar tu propio SGI, el que ya existe y ya funciona, y lo vas a refactorizar a clases — sin cambiarle el comportamiento ni una coma. Cada paso lo vas a verificar con diff: si la salida de tu programa antes y después del refactor no es idéntica, no terminaste.

En el camino vas a:

  • Escribir tu primera clase, con un constructor __init__ que guarda datos en self.
  • Guardar objetos en una colección y recorrerla con for, llamando el mismo método en cada uno.
  • Escribir métodos que cambian el estado interno de un objeto — no que devuelven un valor, que lo modifican.
  • Diagnosticar, con solo leer código, cuándo un programa está pidiendo a gritos un refactor.
  • Convertir tu combo de funciones + diccionario en una clase equivalente, línea por línea, comprobando que nada se rompió.
  • Armar un objeto Gestor — un objeto cuyo trabajo es administrar una colección de otros objetos sin dejar que el resto del programa la toque directamente.
  • Cazar un bug clásico y silencioso: la diferencia entre un atributo de clase (compartido por error entre todos los objetos) y uno de instancia (propio de cada uno).
  • Encapsular lo que no debe tocarse desde fuera, con guion bajo y un método de acceso — y entender por qué eso es una convención de Python, no un candado real.

El resultado final se llama sistema_tareas.py (v4): tu SGI original, pero ahora con clases Tarea y GestorDeTareas, comportándose exactamente igual que la versión con la que empezaste.


Por qué este sprint importa más de lo que parece​

Este no es un curso de POO "porque toca verlo". Es el primer escalón real hacia el backend. Los sprints que siguen — FastAPI, SQLAlchemy, una base de datos de verdad — asumen que ya piensas en objetos: que un endpoint recibe datos y los convierte en algo con estado, que un modelo de base de datos es, en el fondo, una clase con atributos. Sin esta base, esos sprints no tienen sobre qué construirse. Con ella, van a sentirse como el paso natural que son.


Qué necesitas para empezar​

  • Haber terminado (o dominar el contenido de) Fundamentos de Python: funciones con parámetros, diccionarios, listas y bucles for.
  • Tu propio programa_tareas.py del curso anterior — o estar dispuesto a reconstruirlo rápido si no lo guardaste. Lo vas a necesitar como punto de partida del refactor.
  • La misma disposición de siempre a equivocarte, leer el error, y volver a intentar.

No necesitas: saber nada de bases de datos, APIs, ni frameworks todavía. Eso llega después, y llega mejor porque primero pasaste por aquí.


Una aclaración honesta​

Este sprint está en construcción activa: el contenido escrito ya está, pero los videos todavía se están grabando. Vas a ver el espacio reservado para cada uno mientras se publican. No es un curso a medias — es un curso que se está terminando de filmar, y vamos a avisarte apenas cada video esté listo.

Ahora sí: abre tu programa_tareas.py, y vamos a convertirlo en algo que se sostenga solo.

Nos vemos en la primera lección.