- Introducción a Python
- Características y aplicaciones
- Instalación de Python
- Configuración de un entorno de desarrollo
- Principios de escritura clara y mantenible
- Estándares de estilo definidos por PEP 8 y PEP 257
- Uso de anotaciones de tipo y documentación con PEP 484
- Prácticas recomendadas de indentación, nombres y organización de archivos
- Herramientas de análisis estático: flake8, black, pylint, mypy
- Gestión de errores y depuración con técnicas modernas
- Sintaxis básica de Python
- Variables y tipos de datos
- Operadores y expresiones
- Uso de comentarios
- Introducción al control de flujo
- Estructuras condicionales (if, elif, else)
- Bucles (for y while)
- Control de bucles (break y continue)
- Listas y tuplas
- Conjuntos: colecciones únicas
- Diccionarios: pares clave-valor
- Pilas: concepto y operaciones
- Colas: implementación y uso
- Definición y llamada de funciones
- Parámetros y argumentos
- Retorno de valores
- Ámbito de las variables
- Módulos y organización del código
- Principios de la orientación a objetos y su implementación en Python
- Creación y uso de clases, métodos y atributos
- Herencia, polimorfismo y encapsulamiento
- Métodos mágicos y sobrecarga de operadores
- Clases abstractas, metaclases y dataclasses
- Aplicación de principios SOLID en proyectos Python
- Introducción a ficheros
- Lectura y escritura de archivos
- Manejo de rutas de archivos
- Entrada y salida estándar
- Formateo de texto
- Creación de scripts automatizados con Python
- Interacción con el sistema operativo mediante os, sys y shutil
- Ejecución de comandos externos con subprocess
- Manipulación de archivos comprimidos y logs
- Automatización de tareas con argparse, click y cron jobs
- Integración con APIs y servicios externos para tareas repetitivas
- Introducción a interfaces gráficas
- Configuración de Tkinter
- Creación de widgets y ventanas
- Manejo de eventos y callbacks
- Introducción a bases de datos SQLite
- Creación y conexión a bases de datos
- Consultas SQL básicas
- Inserción, actualización y eliminación de datos
- Importancia del testing y la documentación
- Uso de pruebas unitarias
- Documentación de código con docstrings
- Generación de documentación automática
