Aller au contenu principal

ASTON INSTITUT : 02. Python, perfectionnement

Durée

28 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Tout au long de la formation, le formateur s'assure de la compréhension et de l'assimilation des concepts via des QCM et exercices. Après la formation : évaluation à chaud et à froid.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
1234.8€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
4939.2€ HT / groupe
4 stagiaires minimum

Public

Ingénieurs et développeurs.

Pré-requis

Disposer de bonnes connaissances en développement Python.

Objectifs pédagogiques

- Utiliser les techniques avancées du langage Python : Context Manager, métaclasses, closures, fonctions avancées

- Optimiser les performances de vos programmes à l'aide du monitoring et du parallélisme 

- Packager et déployer ses artefacts Python 

- Exploiter des librairies contribuant au succès du langage : calcul scientifique, Intelligence Artificielle, XML, réseau

Programme détaillé

Fil rouge :  Création d’une application de traitement de données avec utilisation de la parallélisation. Nous mettrons en place des pipelines de traitement avec un ensemble d’applications que nous allons packager en respectant les bonnes pratiques.

A la fin de la formation, nous présentons Spark pour le traitement parallélisé et pour ceux qui veulent aller plus loin.

Chapitre 1 : Rappel de python

  •  La programmation orientée objet en python
  • Encapsulation
  • Héritage
  • Polymorphisme

Atelier pratique : Présentation théorique avec code à l’appui.

Chapitre 2 : Aller plus loin avec la programmation objet

  • Rappels sur la programmation objet : classes, instances, ...
  • Les propriétés
  • Les attributs de classe
  • Les méthodes de classe et méthodes statiques
  • L'introspection
  • La classe object
  • Les méthodes spéciales
  • Le destructeur
  • Héritage simple et héritage multiple
  • Polymorphisme et duck typing
  • La classe type
  • Les métaclasses
  • Abstract Base Class
  • Rappels sur les exceptions

Atelier pratique : Mise en place d’un pipeline de traitement des données (plusieurs programmes connectés entre eux). Le premier programme sera en POO avec Flask, tandis que les suivants seront chargés de faire un nettoyage et une mise en forme des données avant de les sauvegarder en base.

Chapitre 3 : Fonctionnalités avancées

  • Les générateurs
  • Les décorateurs
  • Les itérateurs
  • Les context managers
  • Les closures

Atelier pratique : En reprenant nos pipelines de traitement, nous les transformons en programme basé sur le paradigme fonctionnel pour éviter les effets de bord et comprendre l’utilité des différentes solutions.

Chapitre 4 : Packager et déployer une application Python

  • Le gestionnaire de paquets pip
  • Le Python Package Index (PyPI)
  • Installer un module externe
  • Le module setuptools
  • Organiser son package
  • Le MANIFEST et le README
  • Packager son application au format wheel
  • Déployer son package sur PyPI

Atelier pratique : Nous modifions nos précédentes applications pour pouvoir les partager sur un serveur de dépôt.

Chapitre 5 : Travailler avec un environnement virtuel

  • L'intérêt d'utiliser un environnement virtuel
  • Les solutions disponibles
  • Installer un module dans un environnement virtuel
  • Gérer efficacement les dépendances d'un projet

Atelier pratique : Comparaison et des outils tel que venv, etc. Nous mettons en place notre environnement virtuel et vérifions que les modules sont chargés au bon endroit.

Chapitre 6 : Optimisation et parallélisme

  • Profilage de code avec timeIT et cProfile
  • Les queues : créer des files synchronisées
  • Le threading
  • Le multiprocessing

Atelier pratique : Lancement de multithreading de nos pipelines et analyse des problématiques qui peuvent avoir lieu (problème de synchronisation, fuite de mémoire).

Chapitre 7 : Des librairies utiles

  • De vrais scripts Python : le module argparse
  • HTTP pour les humains : le module requests
  • Parser du XML et du HTML : le module xml.etree
  • Python pour la science : les modules Numpy et Matplotlib
  • Intelligence artificielle : le module Scikit-Learn

Atelier pratique : Dans un environnement JupyterLab, nous testons les bibliothèques pour afficher des graphiques (Matplotlib).

Chapitre 8 : Découverte de Spark pour la manipulation des données - PySpark

  • Utilisation de SparkSQL et des DataFrames pour manipuler des données
  • Charger des données depuis Hadoop, depuis des fichiers CSV, texte, JSON...
  • Transformer des données (création de DataFrames, ajout de colonnes, filtres...)

Atelier pratique : Exemple dans un notebook de l’utilisation de Spark et Panda.

 

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.