Apariencia
🧭 Índice de clases — Python
Todas las clases del curso, ordenadas por fase, con el hilo conductor de construir apps de escritorio (CustomTkinter) y la base de datos (SQLite) como caso de uso. Cada clase = un tema: teoría + 🖥️ su uso en tu app + 🗄️ su conexión con BD + ejercicios.
🎯 El plan técnico (rumbo a experto en apps de escritorio)
Fase 1 Fase 2 Fase 3 Fase 4 Fase 5 Fase 6 🎯
datos y ──▶ funciones ──▶ POO ──▶ archivos ──▶ Python ──▶ ESPECIALIDAD
bucles y módulos (App como JSON/CSV "pro" SQLite CRUD,
clase) APIs threading,
.app/.exeTodo el código de las clases está verificado en el .venv del curso (Python 3.14, CustomTkinter 6.0.0, requests 2.34.2, PyInstaller 6.21.0) antes de documentarse.
🎯 Meta de Styp: especializarse en apps de escritorio con GUI, con ejemplos didácticos, casos de uso reales e integración con base de datos.
📚 Las clases por fase
Leyenda: ✅ clase disponible · 🔜 por generar
✅ Fase 0 — Base (ya la tienes)
Variables, if/else, funciones, f-strings y GUI básica: repasadas en Conceptos y CustomTkinter.
🔵 Fase 1 — Estructuras de datos y bucles
| # | Clase | Lo esencial | En tu app |
|---|---|---|---|
| 01 | Listas | append/pop, indexar, aliasing | el modelo del To-Do |
| 02 | Bucles for | range, enumerate, zip | pintar widgets dinámicos |
| 03 | Bucles while | condición, break, infinitos | no bloquear el mainloop |
| 04 | Diccionarios | get/items, dict = fila de BD 🗄️ | recoger formularios |
| 05 | Tuplas y sets | inmutables, sin duplicados | filas de BD, antirrepetidos |
| 06 | Slicing | [1:3], [::-1], copiar | paginar, "últimos 5" |
| 07 | Comprehensions | [x for x in ...] | filtrar datos para la GUI |
🟢 Fase 2 — Funciones y código organizado
| # | Clase | Lo esencial | En tu app |
|---|---|---|---|
| 08 | return a fondo | devolver vs imprimir, early return | separar lógica de UI |
| 09 | Parámetros | defaults, *args/**kwargs | así funciona CTk |
| 10 | Scope | local/global, closures | el lambda t=tarea explicado |
| 11 | Módulos | import, __main__ | ui/logica/datos.py |
| 12 | Excepciones | try/except/finally, raise | apps que no se caen |
🟡 Fase 3 — POO
| # | Clase | Lo esencial | En tu app |
|---|---|---|---|
| 13 | Clases y objetos | class, __init__, self | modelos: Tarea, Contacto |
| 14 | Métodos y atributos | instancia vs clase, IDs | adiós global |
| 15 | Herencia | super(), override | class App(ctk.CTk) 🌟 |
| 16 | Encapsulación | _privado, @property | estado protegido y validado |
| 17 | Métodos dunder | __str__, __eq__, __len__ | objetos que la GUI imprime |
| 18 | Tu app como clase | 🏗️ integradora | el refactor de TUS apps |
🟠 Fase 4 — Archivos y el mundo exterior
| # | Clase | Lo esencial | En tu app |
|---|---|---|---|
| 19 | Archivos | open, with, modos | cargar/guardar al abrir/cerrar |
| 20 | JSON | dump/load | 🎉 el To-Do que recuerda |
| 21 | CSV | DictReader/Writer | botón "Exportar a Excel" |
| 22 | Librería estándar | datetime, pathlib, random | fechas y carpeta de datos |
| 23 | requests y APIs | HTTP, status, timeout | datos de internet en tu GUI |
🔴 Fase 5 — Python "pro"
| # | Clase | Lo esencial | En tu app |
|---|---|---|---|
| 24 | lambda, map, filter | sorted(key=) | ordenar por cualquier criterio |
| 25 | Generadores | yield, memoria | archivos/cursores perezosos |
| 26 | Decoradores | @envolver | callbacks sin repetición |
| 27 | Type hints | -> str | None | contratos entre módulos |
| 28 | Context managers | __enter__/__exit__ | with con: = transacción |
🎯 Fase 6 — Especialización: Apps de escritorio
| # | Clase | Lo esencial | El salto |
|---|---|---|---|
| 29 | Arquitectura | 3 capas (MVC ligero) | de script a proyecto |
| 30 | SQLite I | CREATE, INSERT, SELECT | BD real, cero instalación |
| 31 | SQLite II | UPDATE, DELETE, LIKE | CRUD completo en la GUI |
| 32 | Ventanas y diálogos | CTkToplevel, messagebox | apps multiventana |
| 33 | Threading | Thread + queue + after | nunca más ventana congelada |
| 34 | PyInstaller | --windowed --collect-all | tu app como .app/.exe |
| 35 | 🏆 Proyecto final | Gestor de Gastos | TODO el curso, escrito por ti |
🗺️ Cómo estudiar cada clase
- Lee la teoría y ejecuta tú cada ejemplo en la terminal (no solo leas).
- Lee 🖥️ En tu app de escritorio: ahí está el para qué.
- Haz los ejercicios sin mirar la solución (está plegada).
- Responde la autoevaluación tapando las respuestas.
- Aterriza la fase en su ejercicio/refactor (Clases 18, 29 y 35 son 100% práctica tuya).
💡 Regla de oro: cada tema, aterrízalo en un mini-programa. Leer sin programar no fija nada.
📎 Relacionado
- Ruta de aprendizaje (el mapa por temas con checkboxes)
- Conceptos · CustomTkinter · Comandos
- Ejercicios: Formulario · To-Do · Agenda