Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Python — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Python

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la 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.

  1. Diseñar funciones reutilizables que usen *args, **kwargs y valores por defecto, garantizando que cada función tiene una única responsabilidad.
  2. Comparar las estructuras de datos nativas (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.
  3. Diseñar una jerarquía de clases con herencia simple y encapsulamiento, aplicando atributos y métodos de instancia y de clase donde corresponda.
  4. Integrar una librería de terceros (requests, pathlib u otra validada) en un script propio, gestionando la instalación mediante pip en un entorno virtual aislado.
  5. Depurar un programa con al menos dos errores inducidos (lógico y de tipo) usando pdb o logging estructurado, documentando el proceso de localización y corrección.
  6. Diseñar un esquema de gestión de errores con excepciones personalizadas y bloques try/except/finally, diferenciando cuándo capturar, cuándo propagar y cuándo usar finally.
  7. Adaptar un script funcional existente para incorporar un nuevo requisito sin romper el comportamiento previo, aplicando refactorización mínima y manteniendo legibilidad.
  8. Justificar la estructura de un paquete Python propio (organización de módulos, uso de __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.

  • Ordenador con sistema operativo Windows 10/11, macOS 12 o superior, o distribución Linux de uso general.
  • Python 3.10 o superior instalado localmente.
  • pip disponible en el entorno; capacidad para crear entornos virtuales con python -m venv.
  • Editor de código recomendado: Visual Studio Code con la extensión oficial de Python.
  • Conexión a internet para la instalación de librerías de terceros durante las prácticas.
  • Sin requisitos de hardware especiales: cualquier equipo con 4 GB de RAM es suficiente.

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.