Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a personas que ya dominan los fundamentos de Python y quieren consolidar un estilo de programación más expresivo y mantenible. A lo largo de las 8 horas, el participante aprenderá a diseñar funciones reutilizables con firmas flexibles, a elegir la estructura de datos más adecuada para cada problema, a organizar el código en clases con herencia simple, a gestionar entornos de trabajo aislados e integrar librerías de terceros, a diagnosticar errores con herramientas profesionales de depuración y a estructurar un sistema de excepciones personalizado. Al finalizar, el participante será capaz de leer, mantener y adaptar una base de código Python de complejidad media y organizar su trabajo en paquetes reutilizables con una separación de responsabilidades clara.
*args, **kwargs y valores por defecto, garantizando que cada función tiene una única responsabilidad.list, dict, set, tuple) y justificar la elección de una de ellas para un caso de uso dado, argumentando mutabilidad, rendimiento de búsqueda y semántica.requests, pathlib u otra validada) en un script propio, gestionando la instalación mediante pip en un entorno virtual aislado.pdb o logging estructurado, documentando el proceso de localización y corrección.try/except/finally, diferenciando cuándo capturar, cuándo propagar y cuándo usar finally.__init__.py, separación de responsabilidades) ante un caso de uso de complejidad media.Bloque 1 — Funciones avanzadas y estructuras de datos.
El curso arranca con la extensión del modelo de funciones más allá de los parámetros posicionales: se trabajan las firmas con *args y **kwargs, los valores por defecto y el principio de responsabilidad única aplicado a funciones. A continuación se lleva a cabo una comparación sistemática de las cuatro colecciones nativas —list, dict, set y tuple— atendiendo a su mutabilidad, complejidad de búsqueda y semántica, de modo que el participante pueda razonar y justificar la elección más apropiada ante un caso de uso concreto.
Bloque 2 — Programación orientada a objetos y paquetes.
Este bloque introduce la organización del código en unidades reutilizables de mayor granularidad. En la primera parte se diseña una jerarquía de clases con herencia simple: atributos de instancia y de clase, encapsulamiento con convención de prefijo _ y __, y sobreescritura de métodos. En la segunda parte se aborda la estructura de un paquete Python: qué es __init__.py, cómo distribuir el código entre módulos, cómo importar entre ellos y qué criterios guían una separación de responsabilidades coherente.
Bloque 3 — Entornos virtuales e integración de librerías.
El tercer bloque sitúa al participante en el flujo de trabajo profesional de Python: creación y activación de entornos virtuales con venv, gestión de dependencias con pip y requirements.txt, e integración de una librería de terceros —requests para llamadas HTTP o pathlib para operaciones de sistema de archivos— en un script propio. Se hace hincapié en el aislamiento del entorno como práctica no negociable para la reproducibilidad de proyectos.
Bloque 4 — Depuración y gestión de errores.
El curso cierra con las capacidades de diagnóstico y robustez. En la primera mitad se trabaja la depuración sistemática de programas con errores inducidos —lógico y de tipo— usando el depurador interactivo pdb y logging estructurado con el módulo logging, documentando el proceso de localización y corrección. En la segunda mitad se construye un esquema de gestión de errores con excepciones personalizadas heredadas de Exception, usando bloques try/except/finally con criterio claro sobre cuándo capturar, cuándo propagar y cuándo garantizar limpieza de recursos. El cierre del bloque aplica lo aprendido en un ejercicio de refactorización: adaptar un script existente para incorporar un nuevo requisito sin romper el comportamiento previo.
pip disponible en el entorno; capacidad para crear entornos virtuales con python -m venv.Para aprovechar este curso el participante debe haber completado PYD01 — Python Iniciación o poseer conocimientos equivalentes. En concreto, se espera que sea capaz de: identificar y usar los tipos de datos básicos de Python; poner en marcha un entorno de ejecución local o basado en notebook; aplicar estructuras condicionales y bucles; operar con listas y diccionarios mediante instrucciones básicas; explicar el propósito de funciones built-in frecuentes; y diagnosticar errores de tipo SyntaxError, NameError, TypeError e IndexError.