Introducción
Este curso de Python Intermedio está diseñado para profesionales que ya dominan la sintaxis básica de Python y buscan avanzar hacia un uso más estructurado, modular y profesional del lenguaje. A lo largo de 20 horas en formato online y en directo, se profundizará en programación orientada a objetos (POO), manejo avanzado de estructuras, módulos, entornos profesionales, gestión de errores, manejo de ficheros, librerías estándar y patrones que se utilizan en proyectos corporativos. El curso está alineado con los contenidos que habitualmente se requieren en posiciones técnicas que usan Python a nivel intermedio, integrando prácticas actuales del mercado y buenas prácticas de diseño.
Objetivos
Al finalizar el curso, los participantes podrán:
- Comprender y aplicar los principios de Programación Orientada a Objetos (clases, objetos, encapsulación, herencia, polimorfismo).
- Diseñar módulos y paquetes estructurados siguiendo buenas prácticas de arquitectura en Python.
- Utilizar estructuras intermedias del lenguaje (iteradores, generadores, comprensión de colecciones avanzadas).
- Gestionar excepciones y aplicar mecanismos robustos de control de errores.
- Trabajar con ficheros y rutas de forma eficaz usando librerías estándar.
- Introducir patrones y técnicas utilizadas en proyectos reales: composición, mixins, dataclasses, tipado estático con typing.
- Utilizar entornos virtuales, dependencias y herramientas profesionales para desarrollo.
- Preparar código para pruebas, mantenimiento y escalabilidad.
Índice de Contenidos
Módulo 1. Repaso avanzado de fundamentos esenciales
- Reforzando conceptos: funciones, argumentos, uso de *args y *kwargs.
- Comprensiones avanzadas: listas, diccionarios, conjuntos.
- Introducción a iteradores y generadores.
- Tipado dinámico vs tipado estructurado.
Módulo 2. Introducción formal a la Programación Orientada a Objetos
- Qué es la POO: conceptos clave y su utilidad en proyectos reales.
- Clases, objetos y métodos.
- Encapsulación, atributos y convenciones corporativas.
- Constructores y ciclo de vida de un objeto.
Módulo 3. Herencia, polimorfismo y modelos avanzados de POO
- Herencia simple y múltiple: cuándo usarla y cuándo evitarla.
- Polimorfismo, sobreescritura de métodos y uso de super().
- Mixins como técnica de reutilización.
- Composición vs herencia: decisiones de diseño.
Módulo 4. POO aplicada a problemas reales
- Diseño de clases para modelado de negocio (entidades, servicios, repositorios).
- Estrategias de modularización: paquetes y subpaquetes.
- Manejo profesional de excepciones dentro de clases.
- Introducción a patrones de diseño sencillos (factory, adapter básico, strategy simple).
Módulo 5. Librerías estándar y herramientas para proyectos corporativos
- Uso avanzado de pathlib, os, shutil y manipulación de ficheros.
- Gestión estructurada de configuraciones.
- datetime y operaciones frecuentes en procesos empresariales.
- Serialización con JSON y Pickle.
Módulo 6. Buenas prácticas de código, entornos y tipado
- Guía de estilo PEP8 y organización de módulos.
- Tipado con typing y anotaciones para mejorar mantenibilidad.
- Dataclasses: creación de modelos ligeros y eficientes.
- Introducción a pruebas básicas con unittest o pytest.
Módulo 7. Integración y preparación para niveles avanzados
- Arquitectura de proyectos Python: estructura recomendable.
- Entornos virtuales, dependencias y herramientas como pip, venv y requirements.txt.
- Documentación del código y mantenimiento.
- Recomendaciones para avanzar hacia Python Avanzado, APIs, Django o automatización.