/
[ATD-020] Python Avanzado

[ATD-020] Python Avanzado

Este curso permite a los programadores mejorar sus habilidades mediante un repaso de funcionalidades, instalación del entorno y el uso de bibliotecas como NumPy y Pandas. Se cubren temas como programación funcional, iteradores, generación de listas, análisis de algoritmos, y técnicas de programación concurrente y multiprocesamiento

Duración:                     25 horas

Perfil:                            Avanzado

Dirigido a

A programadores con experiencia previa en Python que desean profundizar en aspectos avanzados del lenguaje y mejorar sus habilidades en el manejo de datos y optimización de algoritmos. Es ideal para desarrolladores de software, científicos de datos y analistas que buscan aplicar técnicas avanzadas en sus proyectos.

Requisitos previos 

Los alumnos necesitarán tener conocimientos de programación con Python, Familiaridad con conceptos básicos de programación, estructuras de datos y algoritmos. y experiencia en el uso de bibliotecas básicas de Python.

Objetivos

  • Profundizar en las funcionalidades avanzadas de Python, incluyendo la instalación y configuración de entornos de desarrollo.
  • Desarrollar habilidades en la manipulación de datos utilizando bibliotecas como NumPy y Pandas.
  • Comprender y aplicar conceptos de programación funcional y análisis de algoritmos mediante la notación Big O.
  • Aprender a utilizar iteradores, generadores y listas de comprensión para mejorar la eficiencia del código.
  • Implementar técnicas de programación concurrente y multiprocesamiento para optimizar el rendimiento de aplicaciones Python.


Contenido

  1. Repaso de Funcionalidades de Python

    1. Breve revisión de las características clave de Python.
    2. Comparación entre versiones de Python y sus mejoras.
  2. Instalación y Configuración del Entorno

    1. Guía para la instalación de Python y configuración de IDEs.
    2. Configuración de entornos virtuales para proyectos.
  3. Entornos Virtuales

    1. Creación y gestión de entornos virtuales con venv y virtualenv.
    2. Importancia de los entornos virtuales en el desarrollo.
  4. Pruebas, Depuración y Logs

    1. Estrategias para la implementación de pruebas unitarias utilizando unittest y pytest.
    2. Técnicas de depuración y registro de logs en aplicaciones.
  5. Paquetes y Distribución

    1. Creación de paquetes Python y su estructura.
    2. Uso de setuptools para la distribución de paquetes.
  6. Iteradores y Generadores

    1. Implementación de iteradores personalizados.
    2. Creación y uso de generadores para manejo eficiente de memoria.
  7. Comprehension Lists

    1. Uso de listas de comprensión para simplificar la creación de listas.
    2. Aplicación de comprehensions en conjuntos y diccionarios.
  8. Programación Funcional

    1. Introducción a la programación funcional en Python.
    2. Uso de funciones de orden superior y map, filter, y reduce.
  9. Big O Notation

    1. Conceptos de complejidad algorítmica y análisis de eficiencia.
    2. Ejemplos de cálculo de Big O en algoritmos comunes.
  10. Objetos Mutables y No Mutables

    1. Diferencias entre tipos de datos mutables e inmutables.
    2. Ejemplos de comportamiento en operaciones y efectos en el código.
  11. Librería NumPy

    1. Introducción a NumPy y sus capacidades para cálculos numéricos.
    2. Manipulación de arrays, operaciones y funciones matemáticas.
  12. Álgebra Lineal con NumPy

    1. Uso de NumPy para operaciones de álgebra lineal.
    2. Ejemplos de matrices, determinantes y resolución de sistemas lineales.
  13. Librería Pandas

    1. Fundamentos de Pandas para la manipulación y análisis de datos.
    2. Creación de DataFrames, selección de datos y operaciones básicas.
  14. Visualización de Datos

    1. Introducción a bibliotecas de visualización como Matplotlib y Seaborn.
    2. Creación de gráficos y representación visual de datos.
  15. Manipulación de Ficheros

    1. Lectura y escritura de archivos con diferentes formatos (CSV, JSON).
    2. Técnicas de procesamiento de datos a partir de archivos.
  16. Búsquedas de Patrones

    1. Introducción a expresiones regulares con el módulo re.
    2. Ejemplos de búsqueda y manipulación de texto.
  17. Agregaciones de Datos

    1. Técnicas de agregación en Pandas (media, desviaciones, percentiles, etc.).
    2. Análisis estadístico básico a partir de conjuntos de datos.
  18. Programación Concurrente

    1. Introducción a la programación concurrente y paralelismo.
    2. Uso de hilos (threading) y procesos (multiprocessing) en Python.



Documentación Recomendada

The Quick Python Book
Naomi Ceder
May 2018 | 472 pages

https://www.manning.com/books/the-quick-python-book-third-edition

Related content