[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.
Uso de Python para la creación de modelos de IA generativa para su uso en aplicaciones.
Contenido
Repaso de Funcionalidades de Python
Breve revisión de las características clave de Python.
Comparación entre versiones de Python y sus mejoras.
Instalación y Configuración del Entorno
Guía para la instalación de Python y configuración de IDEs.
Configuración de entornos virtuales para proyectos.
Entornos Virtuales
Creación y gestión de entornos virtuales con
venvyvirtualenv.Importancia de los entornos virtuales en el desarrollo.
Pruebas, Depuración y Logs
Estrategias para la implementación de pruebas unitarias utilizando
unittestypytest.Técnicas de depuración y registro de logs en aplicaciones.
Paquetes y Distribución
Creación de paquetes Python y su estructura.
Uso de
setuptoolspara la distribución de paquetes.
Iteradores y Generadores
Implementación de iteradores personalizados.
Creación y uso de generadores para manejo eficiente de memoria.
Comprehension Lists
Uso de listas de comprensión para simplificar la creación de listas.
Aplicación de comprehensions en conjuntos y diccionarios.
Programación Funcional
Introducción a la programación funcional en Python.
Uso de funciones de orden superior y
map,filter, yreduce.
Big O Notation
Conceptos de complejidad algorítmica y análisis de eficiencia.
Ejemplos de cálculo de Big O en algoritmos comunes.
Objetos Mutables y No Mutables
Diferencias entre tipos de datos mutables e inmutables.
Ejemplos de comportamiento en operaciones y efectos en el código.
Librería NumPy
Introducción a NumPy y sus capacidades para cálculos numéricos.
Manipulación de arrays, operaciones y funciones matemáticas.
Álgebra Lineal con NumPy
Uso de NumPy para operaciones de álgebra lineal.
Ejemplos de matrices, determinantes y resolución de sistemas lineales.
Librería Pandas
Fundamentos de Pandas para la manipulación y análisis de datos.
Creación de DataFrames, selección de datos y operaciones básicas.
Visualización de Datos
Introducción a bibliotecas de visualización como Matplotlib y Seaborn.
Creación de gráficos y representación visual de datos.
Manipulación de Ficheros
Lectura y escritura de archivos con diferentes formatos (CSV, JSON).
Técnicas de procesamiento de datos a partir de archivos.
Búsquedas de Patrones
Introducción a expresiones regulares con el módulo
re.Ejemplos de búsqueda y manipulación de texto.
Agregaciones de Datos
Técnicas de agregación en Pandas (media, desviaciones, percentiles, etc.).
Análisis estadístico básico a partir de conjuntos de datos.
IA generativa con Python IA
Introducción a Tensorflow
Modelos de IA generativa
Iniciación a la creación de chatbots
Programación Concurrente
Introducción a la programación concurrente y paralelismo.
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