Formación : Python, avanzado

Python, avanzado

Descargar en formato pdf Compartir este curso por correo electrónico 2


El lenguaje Python se ha convertido en la base tecnológica para el desarrollo de grandes proyectos de software. En este curso, aprenderá las técnicas avanzadas del lenguaje Python, así como sus principales bibliotecas, para cumplir los requisitos de calidad de estos proyectos.


Abierta
In-company
A medida

Curso práctico presencial o en clase a distancia

Ref. PYA
Precio : 1670 € I.E.
  4d - 28h00




El lenguaje Python se ha convertido en la base tecnológica para el desarrollo de grandes proyectos de software. En este curso, aprenderá las técnicas avanzadas del lenguaje Python, así como sus principales bibliotecas, para cumplir los requisitos de calidad de estos proyectos.

Objetivos pedagógicos
Una vez finalizada la formación, el participante podrá:
  • Aplicar de manera rigurosa patrones de diseño reconocidos
  • Utilizar las técnicas avanzadas del lenguaje Python: Gestor de contexto, metaclases, cierres y funciones avanzadas
  • Optimizar el rendimiento de sus programas mediante la monitorización y el paralelismo
  • Empaquetar y desplegar sus artefactos de Python
  • Usar bibliotecas que contribuyen al éxito del lenguaje: computación científica, inteligencia artificial, XML, red

Público afectado
Ingenieros y desarrolladores.

Requisitos previos
Buenos conocimientos de desarrollo Python o conocimientos equivalentes a los aportados por los cursos de THO o PYT. Se requiere experiencia.

Programa de la formación

Recordatorios importantes sobre el lenguaje

  • Asignación por referencia y tipo de datos modificables, no modificables (mutable).
  • Trasladar argumentos, valores predeterminados y variables locales.
  • Variables de clase y de instancias.
  • Cortes y estructuras de datos avanzadas.
  • Introspección.
  • Elementos avanzados de las estructuras de control: la cláusula else de las instrucciones for, while, try/except.
Trabajo práctico
Optimización: intersección de listas y cálculo de la complejidad de algoritmos.

Funciones avanzadas

  • Uso avanzado de decoradores (desde la generación hasta el consumo, pasando por la cadena de consumidores).
  • Decoradores y patrones de diseño.
  • Cierre/closure.
Trabajo práctico
Encadenamiento de consumidores de datos. Suscripción a eventos a través de los decoradores.

Programación orientada a objetos avanzada

  • Las propiedades (property).
  • Los iteradores.
  • La herencia múltiple y sus inconvenientes.
  • Gestores de contexto (Context Managers).
  • Clases y métodos abstractos (ABC).
  • Metaclases.
Trabajo práctico
Implementación de una metaclase para crear clases singleton.

Despliegue y calidad

  • Instalación de bibliotecas de terceros (pip, easy_install).
  • El índice de paquetes de Python (PyPI).
  • Empaquetar sus bibliotecas (distutils, setuptools).
  • Despliegue de un entorno independiente (virtualenv y buildout).
Trabajo práctico
Empaquetar una biblioteca y colocarla en PypI.

Paralelismo: optimización del rendimiento de sus programas

  • Perfile sus programas con Timeit y cProfile.
  • Paralelismo: evite el multihilo y apueste por el multiprocesamiento.
  • Computación distribuida con la biblioteca Celery.
Trabajo práctico
Distribuir y consolidar (Map Reduce) los cálculos con Celery.

Las bibliotecas contribuyen al éxito del lenguaje

  • Computación científica y estadística con Numpy, Scipy, Matplotlib y Pandas.
  • Inteligencia artificial y algoritmos de aprendizaje con Scikit-Learn.
  • Búsqueda de información en archivos XML con ElementTree.
  • Redes: retransmisión tcp con Twisted y supervisión SNMP con PySNMP.
Trabajo práctico
Extracción de información en archivos de registro XML, filtros y estadísticas sobre los datos recopilados y representación de las tendencias de la información mediante gráficos.


Modalidades prácticas
Métodos pedagógicos;
Aportaciones teóricas ilustradas con ejemplos de código y posteriormente consolidadas con la realización de un miniproyecto (70 % de ejercicios prácticos).

Fechas y lugares
Selecciona tu ubicación u opta por la clase remota y luego elige tu fecha.
Clase a distancia