# Hello Python - Curso Completo de Python Desde Cero > **El curso más completo y estructurado de Python en español** --- ## **Índice Maestro del Curso** ### **Nivel 1: Fundamentos de Python** *(Curso de fundamentos desde cero)* | Módulo | Video | Descripción | Nivel | | ---------------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------ | ------------ | | [**00 - Instalación y Configuración**](Basic/CLASE_00.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=850) | Python + VS Code: Setup profesional | Principiante | | [**01 - Hola Mundo**](Basic/CLASE_01.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=1518) | Tu primer programa en Python | Principiante | | [**02 - Variables y Tipos**](Basic/CLASE_02.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=2938) | int, float, str, bool: Los bloques fundamentales | Principiante | | [**03 - Números y Operaciones**](Basic/CLASE_03.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=5665) | Aritmética, lógica y comparaciones | Principiante | | [**04 - Strings (Cadenas)**](Basic/CLASE_04.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=8643) | Manipulación avanzada de texto | Principiante | | [**05 - Listas**](Basic/CLASE_05.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=10872) | Arrays dinámicos y sus métodos | Principiante | | [**06 - Tuplas**](Basic/CLASE_06.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=14711) | Estructuras inmutables y eficientes | Principiante | | [**07 - Conjuntos (Sets)**](Basic/CLASE_07.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=16335) | Operaciones de conjunto únicas | Principiante | | [**08 - Diccionarios**](Basic/CLASE_08.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=18506) | Clave-valor: El poder de los hashes | Principiante | | [**09 - Condicionales**](Basic/CLASE_09.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=21442) | if, elif, else: Toma decisiones | Principiante | | [**10 - Bucles**](Basic/CLASE_10.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=23822) | for y while: Repetición inteligente | Principiante | | [**11 - Funciones**](Basic/CLASE_11.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=26619) | Reutilización y abstracción | Principiante | | [**12 - Módulos**](Basic/CLASE_12.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=34583) | Organización y reutilización de código | Principiante | | [**13 - Clases y Objetos**](Basic/CLASE_13.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=29327) | POO: Tu primer clase | Intermedio | | [**14 - Herencia**](Basic/CLASE_13.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=32030) | Extensibilidad y reutilización | Intermedio | | [**15 - Excepciones**](Basic/CLASE_13.md) | [Video](https://youtu.be/Kp4Mvapo5kc?t=32030) | Manejo robusto de errores | Intermedio | --- ### **Nivel 2: Python Intermedio** *(Curso intermedio de fundamentos desde cero)* | Módulo | Video | Descripción | Nivel | | ----------------------------------------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ------------- | | [**00 - Fechas y Tiempo**](Intermediate/CLASE_00_DATES.md) | [Video](https://youtu.be/TbcEqkabAWU?t=202) | datetime: Gestión profesional del tiempo | Intermedio | | [**01 - List Comprehension**](Intermediate/CLASE_01_LIST_COMPREHENSION.md) | [Video](https://youtu.be/TbcEqkabAWU?t=3239) | Pythonic way: Una línea, máximo poder | Intermedio | | [**02 - Desafíos de Programación**](Intermediate/CLASE_02_CHALLENGES.md) | [Video](https://youtu.be/TbcEqkabAWU?t=4142) | Resolución de problemas clásicos | Intermedio | | [**03 - Funciones Lambda**](Intermediate/CLASE_03_LAMBDAS.md) | [Video](https://youtu.be/TbcEqkabAWU?t=9145) | Funciones anónimas y expresivas | Intermedio | | [**04 - Funciones de Orden Superior**](Intermediate/CLASE_04_HIGHER_ORDER.md) | [Video](https://youtu.be/TbcEqkabAWU?t=10172) | map, filter, reduce: Programación funcional | Intermedio | | [**05 - Tipos de Errores**](Intermediate/CLASE_05_ERROR_TYPES.md) | [Video](https://youtu.be/TbcEqkabAWU?t=12721) | Debugging profesional y estrategias | Intermedio | | [**06 - Manejo de Archivos**](Intermediate/CLASE_06_FILE_HANDLING.md) | [Video](https://youtu.be/TbcEqkabAWU?t=15524) | I/O: CSV, JSON, TXT como un profesional | Intermedio | | [**07 - Expresiones Regulares**](Intermediate/CLASE_07_REGEX.md) | [Video](https://youtu.be/TbcEqkabAWU?t=19762) | regex: El poder del pattern matching | Intermedio | | [**08 - Gestión de Paquetes**](Intermediate/CLASE_08_PACKAGE_MANAGER.md) | [Video](https://youtu.be/TbcEqkabAWU?t=24010) | pip, venv: Gestión profesional de dependencias | Intermedio | --- ### **Nivel 3: Backend con Python** *(Backend desde cero)* | Módulo | Video | Descripción | Nivel | | ------------------------------------------------------------------ | ---------------------------------------------- | ------------------------------------ | ----------- | | [**00 - Introducción**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A) | Bienvenida al mundo del backend | Avanzado | | [**01 - ¿Qué es un backend?**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=125) | Conceptos fundamentales de backend | Avanzado | | [**02 - API y FastAPI**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=834) | Introducción a FastAPI y APIs REST | Avanzado | | [**03 - Type Hints**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=1810) | Tipado estático en Python | Avanzado | | [**04 - Configuración FastAPI**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=2629) | Setup inicial de proyecto | Avanzado | | [**05 - Hola mundo**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=3504) | Tu primera API REST profesional | Avanzado | | [**06 - Operación GET**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=5382) | Métodos GET y obtención de datos | Avanzado | | [**07 - Peticiones HTTP**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=5925) | Protocolo HTTP y métodos | Avanzado | | [**08 - Creación API**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=6099) | API completa con endpoints | Avanzado | | [**09 - Path y Query**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=7510) | Parámetros en URLs | Avanzado | | [**10 - Operaciones POST, PUT y DELETE**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=8529) | CRUD completo con métodos HTTP | Avanzado | | [**11 - HTTP status codes**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=11072) | Códigos de estado HTTP | Avanzado | | [**12 - Routers**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=12475) | Organización modular de rutas | Avanzado | | [**13 - Recursos estáticos**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=13618) | Archivos estáticos y plantillas | Avanzado | | [**14 - Autorización OAuth2**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=14094) | Seguridad con OAuth2 | Avanzado | | [**15 - OAuth2 JWT**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=17664) | Tokens JWT y autenticación | Avanzado | | [**16 - MongoDB**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=20480) | Integración con bases de datos NoSQL | Avanzado | | [**17 - MongoDB Atlas**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=25470) | Base de datos en la nube | Avanzado | | [**18 - Despliegue en Deta**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=27335) | Deployment en producción | Avanzado | | [**19 - Próximos pasos**](Backend/FastAPI/main.py) | [Video](https://youtu.be/_y9qQZXE24A?t=28484) | Continúa tu aprendizaje | Avanzado | * **Nota sobre Deta**: El servicio Deta utilizado en la lección 18 ya no está disponible. Consulta la documentación oficial de FastAPI para opciones de despliegue actuales.* --- ## **Ruta de Aprendizaje y Metodología** ### **Unidades de Estudio** | Unidades | Enfoque Principal | Duración Estimada | Objetivo Clave | | ------------ | -------------------------- | ----------------- | ------------------- | | **Unidad 0** | Preparación y Herramientas | 1 semana | Entorno profesional | | **Unidad 1** | Sintaxis y Fundamentos | 3-4 semanas | Bases sólidas | | **Unidad 2** | Pensamiento Pythónico | 2-3 semanas | Código idiomático | | **Unidad 3** | Librería Estándar | 2 semanas | Productividad | | **Unidad 4** | Calidad y Testing | 2 semanas | Código profesional | | **Unidad 5** | APIs Modernas | 2 semanas | Backend práctico | | **Unidad 6** | Empaquetado y Distribución | 1 semana | Deployment | ### **Sugerencia de Tiempos por Nivel** #### **Nivel 1 - Fundamentos** (4-6 semanas) * **Dedicación recomendada**: 1-2 horas/día * **Ritmo sugerido**: 2-3 módulos por semana * **Checkpoint**: Proyecto calculadora completa #### **Nivel 2 - Intermedio** (3-4 semanas) * **Dedicación recomendada**: 1.5-2.5 horas/día * **Ritmo sugerido**: 2 módulos por semana * **Checkpoint**: Web scraper funcional #### **Nivel 3 - Backend** (2-3 semanas) * **Dedicación recomendada**: 2-3 horas/día * **Ritmo sugerido**: 1-2 módulos por semana * **Checkpoint**: API REST completa con auth ### **Formato de Cada Lección** Cada módulo sigue esta estructura pedagógica optimizada: 1. **Objetivos de Aprendizaje** (2-3 objetivos específicos) 2. **Conceptos Clave** (Teoría mínima necesaria) 3. **Ejemplos Prácticos** (Código comentado paso a paso) 4. **Micro-Kata** (Ejercicio de 5-10 minutos) 5. **Checklist de Calidad** (PEP 8, tipado, tests) 6. **Test Unitario** (Verificación automática con pytest) 7. **Material de Repaso** (Enlaces y recursos adicionales) ### **Proyectos Integradores (Capstones)** #### **Proyecto 1: Inbox Zero CLI** *(Nivel Intermedio)* * **Tecnologías**: argparse, pathlib, json, datetime * **Descripción**: Gestor de tareas desde terminal * **Duración**: 1-2 semanas * **Skills**: I/O, estructuras de datos, CLI design #### **Proyecto 2: Catalog Microservice** *(Nivel Avanzado)* * **Tecnologías**: FastAPI, SQLModel, Pydantic, pytest * **Descripción**: API REST para catálogo de productos * **Duración**: 2-3 semanas * **Skills**: Backend, APIs, bases de datos, testing #### **Proyecto 3: Download Orchestrator** *(Nivel Profesional)* * **Tecnologías**: asyncio, httpx, rich, typer * **Descripción**: Descargador paralelo con progreso visual * **Duración**: 1-2 semanas * **Skills**: Async programming, concurrencia, UX ### **Checklist de Calidad Profesional** #### Estándares de Código * [x] **PEP 8**: Formateo consistente (usar `black`) * [ ] **PEP 257**: Docstrings informativos * [ ] **Type Hints**: Tipado explícito cuando sea útil * [ ] **Nombres descriptivos**: Variables y funciones claras #### Testing y Validación * [ ] **Tests unitarios**: Cobertura mínima del 80% * [ ] **Tests de integración**: Casos de uso principales * [ ] **Manejo de errores**: try/except apropiados * [ ] **Logging**: Información útil para debugging #### Profesionalización * [ ] **Requirements.txt**: Dependencias versionadas * [ ] **README.md**: Documentación clara * [ ] **Git**: Commits descriptivos * [ ] **Virtual environment**: Aislamiento de dependencias --- ## **ROADMAP - Próximos Lanzamientos** ### **[Frontend con Python | Web Development](https://github.com/mouredev/python-web)** ### **Lógica de Programación Desde Cero** --- ## **Recursos Exclusivos** ### 📖 **Libros y Recursos** * 📗 [**El libro de Python**](https://ellibrodepython.com/) - Guía completa * 📘 [**Variables y nombrado**](https://ellibrodepython.com/variables-python#nombrando-variables) - Mejores prácticas * 📙 [**Operadores en Python**](https://ellibrodepython.com/operadores-asignacion) - Referencia completa * 📒 [**Strings y formateo**](https://ellibrodepython.com/cadenas-python) - Manipulación de texto * 📕 [**Listas y métodos**](https://ellibrodepython.com/listas-en-python#listas-en-python) - Estructuras de datos * 📓 [**Tuplas y operaciones**](https://ellibrodepython.com/tuplas-python) - Colecciones inmutables * 📗 [**Condicionales y flujo**](https://ellibrodepython.com/if-python#uso-del-if) - Control de programas * 📘 [**Bucles y iteración**](https://ellibrodepython.com/for-python#bucle-for) - Repetición inteligente --- * 2025 Hello Python. *Última actualización: Agosto 2025*