Curso de Python Intermedio

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.

Detalles del Curso

  • Curso de 20 horas de duración
  • Modalidad presencial o directo/online
  • Totalmente práctico
  • Contacta con nosotros para conocer tus necesidades formativas

Requisitos

  • Conocimientos básicos de Python: variables, funciones, listas/diccionarios, condicionales y bucles.
  • Haber completado un curso de iniciación o tener experiencia equivalente.
  • Manejo básico de un editor de código (VSCode, PyCharm u otros).
  • No es necesario conocimiento previo de POO.

Alumnado

  • Profesionales que ya utilizan Python de forma básica y buscan elevar su nivel técnico.
  • Analistas, técnicos o desarrolladores que necesiten estructurar aplicaciones más complejas.
  • Equipos que requieren escribir código mantenible, modular y escalable.
  • Perfiles no expertos que desean avanzar hacia desarrollo más formal, sólido y orientado a objetos.