Curso Completo de Python

¡Bienvenido al Curso de Python!

Este curso está pensado para llevarte desde los primeros conceptos de Python hasta un flujo de trabajo sólido con testing, organización de proyectos y un proyecto final integrador.

¿Qué aprenderás?

  • Fundamentos de programación - Variables, tipos, control de flujo y estructuras básicas
  • Entorno de trabajo - Python, editores, entornos virtuales y gestión de paquetes
  • Estructuras de datos - Listas, diccionarios, conjuntos, pilas y colas
  • Manejo de archivos - Lectura, escritura y formatos de datos
  • Funciones y POO - Reutilización de código, generadores, decoradores y clases
  • Calidad y rendimiento - Testing, profiling, concurrencia y buenas prácticas
  • Proyecto final - Una mini librería reutilizable para cerrar el curso con un caso real

Requisitos previos

Antes de empezar
  • Un ordenador con Windows, macOS o Linux
  • Ganas de aprender
  • No se requiere experiencia previa en programación

Estructura del curso

El recorrido principal sigue esta secuencia:

  • Introducción -> Fundamentos -> Entorno virtual -> ... -> Proyectos -> Proyecto final

Los módulos principales incluyen explicaciones, código ejecutable, ejercicios y, en la mayoría de casos, quizzes interactivos. Al final encontrarás un proyecto final para integrar lo aprendido y un apéndice de referencia rápida para consulta.

Cómo usar este índice

Los elementos finales del listado no cumplen el mismo papel: Proyecto final es el cierre práctico del curso y la Referencia rápida funciona como apéndice de consulta.

Introducción a Python

Descubre qué es Python, sus aplicaciones y cómo instalar el entorno de desarrollo.

Fundamentos de Python

Variables, tipos de datos, operadores y estructuras de control básicas.

Configuración del Entorno Virtual

Aprende el flujo de trabajo profesional: gestiona versiones con pyenv, aísla proyectos con venv y administra paquetes con pip.

Estructuras de datos

Listas, tuplas, conjuntos, diccionarios, pilas y colas.

Cadenas de texto y fechas

Manipulación avanzada de cadenas, expresiones regulares y fechas.

Ficheros e interacción con el sistema

Lectura y escritura de archivos, formatos de datos (JSON, CSV) y manejo del sistema.

Funciones básicas

Cómo definir funciones básicas, pasar argumentos y devolver valores con claridad.

Funciones avanzadas

Funciones lambda, decoradores, generadores y programación funcional.

Programación Orientada a Objetos

Clases, objetos, herencia, polimorfismo y dataclasses en Python.

Optimización y complejidad

Complejidad algorítmica, profiling y técnicas de optimización.

Paralelismo y concurrencia

Hilos, procesos, asyncio y programación concurrente.

Testing y calidad de código

Pruebas unitarias, pytest, y buenas prácticas de testing.

Organización y distribución de proyectos

Estructura de carpetas, paquetes, documentación y buenas prácticas para proyectos Python profesionales.

Proyecto final: Mini librería `contact_book`

Cierra el curso construyendo una mini librería reutilizable con dataclasses, validación, JSON y tests.

Referencia rápida de Python (Cheat Sheet)

Apéndice de referencia rápida para repasar la sintaxis y los conceptos principales del curso de Python.