0% encontró este documento útil (0 votos)
15 vistas2 páginas

Python Avanzado

El documento presenta un curso avanzado de Python centrado en la optimización de código, escalabilidad y herramientas profesionales. Se detalla una secuencia de 20 actividades divididas en seis fases: estructuras y rendimiento, concurrencia y paralelismo, ingeniería de software y patrones, manipulación de datos y backend, testing, seguridad y despliegue, y un proyecto integrador final. Cada actividad está diseñada para mejorar habilidades técnicas específicas en Python.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas2 páginas

Python Avanzado

El documento presenta un curso avanzado de Python centrado en la optimización de código, escalabilidad y herramientas profesionales. Se detalla una secuencia de 20 actividades divididas en seis fases: estructuras y rendimiento, concurrencia y paralelismo, ingeniería de software y patrones, manipulación de datos y backend, testing, seguridad y despliegue, y un proyecto integrador final. Cada actividad está diseñada para mejorar habilidades técnicas específicas en Python.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Para un curso avanzado de Python, la clave no es solo escribir código, sino optimizarlo,

asegurar su escalabilidad y dominar las herramientas profesionales del ecosistema.

Aquí tienes una secuencia de 20 actividades diseñadas para elevar el nivel técnico, separadas
por áreas críticas:

Fase 1: Estructuras y Rendimiento

• 1. Optimización de Memoria con __slots__: Crea una clase que gestione millones de
objetos y utiliza __slots__ para comparar el consumo de RAM frente a una clase
estándar.

• 2. Decoradores con Argumentos: Implementa un decorador @retry(times=3) que


reintente una función si falla, manejando excepciones específicas.

• 3. Context Managers Personalizados: Diseña una clase que gestione una conexión
simulada a una base de datos usando el protocolo __enter__ y __exit__.

• 4. Metaclases: Crea una metaclase que fuerce a todas las subclases a tener sus
atributos escritos en snake_case.

Fase 2: Concurrencia y Paralelismo

• 5. Web Scraper Asíncrono: Utiliza asyncio y aiohttp para descargar datos de 50 URLs
simultáneamente sin bloquear el hilo principal.

• 6. Comparativa de CPU vs I/O: Escribe un script para procesar imágenes (intensivo en


CPU) usando multiprocessing y compáralo con una versión usando threading.

• 7. Colas de Tareas: Implementa un sistema de productor-consumidor usando


[Link] para procesar mensajes en tiempo real.

Fase 3: Ingeniería de Software y Patrones

• 8. Patrón Singleton de Hilo Seguro: Implementa un Singleton que funcione


correctamente incluso en entornos multi-hilo.

• 9. Inyección de Dependencias: Refactoriza un módulo que dependa de una API externa


para que acepte "mocks" durante las pruebas unitarias.

• 10. Validación de Datos con Pydantic: Crea modelos complejos con validaciones
cruzadas (ej. la fecha de fin no puede ser menor a la de inicio).

Fase 4: Manipulación de Datos y Backend

• 11. Query Builder con Descriptores: Usa descriptores de Python para crear un sistema
que valide tipos de datos al asignar valores a atributos de una clase.
• 12. API con Fast API y Background Tasks: Crea un endpoint que reciba un archivo y
procese su contenido en segundo plano sin hacer esperar al usuario.

• 13. Generadores para Big Data: Escribe una función generadora que lea un archivo CSV
de varios gigabytes línea por línea, filtrando datos sin cargar el archivo completo en
RAM.

Fase 5: Testing, Seguridad y Despliegue

• 14. Property-Based Testing: Usa la librería Hypothesis para generar casos de prueba
automáticos y encontrar errores de borde en un algoritmo de ordenamiento.

• 15. Análisis Estático de Código: Configura un flujo de trabajo con mypy (tipado
estático), flake8 y black para asegurar que un proyecto cumpla con PEP 8.

• 16. Profiling de Código: Usa cProfile para identificar el cuello de botella en un script
que tarda más de 5 segundos en ejecutarse.

• 17. Seguridad (SQL Injection): Crea un pequeño script con sqlite3 que sea vulnerable a
inyección y luego corrígelo usando consultas parametrizadas.

Fase 6: Proyecto Integrador Final

• 18. CLI Profesional: Desarrolla una herramienta de línea de comandos usando click o
typer que permita gestionar tareas locales con persistencia en JSON.

• 19. Microservicio Dockerizado: Toma una de las actividades anteriores y crea su


Dockerfile optimizado (usando multi-stage builds).

• 20. Documentación con Sphinx/MkDocs: Genera documentación automática a partir


de los docstrings de un paquete que hayas creado.

¿Te gustaría que desarrollemos el código de ejemplo o el enunciado detallado de alguna de


estas actividades en particular?

También podría gustarte