Skip to content

🧭 Í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/.exe

Todo 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

#ClaseLo esencialEn tu app
01Listasappend/pop, indexar, aliasingel modelo del To-Do
02Bucles forrange, enumerate, zippintar widgets dinámicos
03Bucles whilecondición, break, infinitosno bloquear el mainloop
04Diccionariosget/items, dict = fila de BD 🗄️recoger formularios
05Tuplas y setsinmutables, sin duplicadosfilas de BD, antirrepetidos
06Slicing[1:3], [::-1], copiarpaginar, "últimos 5"
07Comprehensions[x for x in ...]filtrar datos para la GUI

🟢 Fase 2 — Funciones y código organizado

#ClaseLo esencialEn tu app
08return a fondodevolver vs imprimir, early returnseparar lógica de UI
09Parámetrosdefaults, *args/**kwargsasí funciona CTk
10Scopelocal/global, closuresel lambda t=tarea explicado
11Módulosimport, __main__ui/logica/datos.py
12Excepcionestry/except/finally, raiseapps que no se caen

🟡 Fase 3 — POO

#ClaseLo esencialEn tu app
13Clases y objetosclass, __init__, selfmodelos: Tarea, Contacto
14Métodos y atributosinstancia vs clase, IDsadiós global
15Herenciasuper(), overrideclass App(ctk.CTk) 🌟
16Encapsulación_privado, @propertyestado protegido y validado
17Métodos dunder__str__, __eq__, __len__objetos que la GUI imprime
18Tu app como clase🏗️ integradorael refactor de TUS apps

🟠 Fase 4 — Archivos y el mundo exterior

#ClaseLo esencialEn tu app
19Archivosopen, with, modoscargar/guardar al abrir/cerrar
20JSONdump/load🎉 el To-Do que recuerda
21CSVDictReader/Writerbotón "Exportar a Excel"
22Librería estándardatetime, pathlib, randomfechas y carpeta de datos
23requests y APIsHTTP, status, timeoutdatos de internet en tu GUI

🔴 Fase 5 — Python "pro"

#ClaseLo esencialEn tu app
24lambda, map, filtersorted(key=)ordenar por cualquier criterio
25Generadoresyield, memoriaarchivos/cursores perezosos
26Decoradores@envolvercallbacks sin repetición
27Type hints-> str | Nonecontratos entre módulos
28Context managers__enter__/__exit__with con: = transacción

🎯 Fase 6 — Especialización: Apps de escritorio

#ClaseLo esencialEl salto
29Arquitectura3 capas (MVC ligero)de script a proyecto
30SQLite ICREATE, INSERT, SELECTBD real, cero instalación
31SQLite IIUPDATE, DELETE, LIKECRUD completo en la GUI
32Ventanas y diálogosCTkToplevel, messageboxapps multiventana
33ThreadingThread + queue + afternunca más ventana congelada
34PyInstaller--windowed --collect-alltu app como .app/.exe
35🏆 Proyecto finalGestor de GastosTODO el curso, escrito por ti

🗺️ Cómo estudiar cada clase

  1. Lee la teoría y ejecuta tú cada ejemplo en la terminal (no solo leas).
  2. Lee 🖥️ En tu app de escritorio: ahí está el para qué.
  3. Haz los ejercicios sin mirar la solución (está plegada).
  4. Responde la autoevaluación tapando las respuestas.
  5. 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