EDITIONS ENI : 02. Python, perfectionnement
Organisme
44812 ST HERBLAIN CEDEXVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Par les stagiaires, qui en début et fin de formation, réalisent une auto-évaluation de leurs connaissances et compétences en lien avec les objectifs de la formation.
Prix
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é
Aspects avancés de la programmation objet (6 heures)
• Rappel sur les classes et l’héritage
• Les variables et les méthodes de classes
• Contrôle de la création d’objet (méthode __new__)
• Les classes et les méthodes abstraites
• Le module abc
• La notion de méta classe
• Travaux pratiques :
- Créer et tester le bon fonctionnement d’une classe représentant un Produit. Créer une classe Stock qui va gérer les Produits.
Organisation des projets et distribution des applications (1,5 heure)
• Les principes de packaging et distribution
• Les différentes API
• La présentation de l’API setuptool
• Le déploiement d’application avec setuptools
• Travaux pratiques :
- Créer un pakage de déploiement pour votre application de gestion de produits.
Les décorateurs (1,5 heure)
• Le principe de fonctionnement et les usages
• La définition des fonctions de décoration
• L’application des décorateurs
• Les décorateurs standard du langage
• Travaux pratiques :
- Créer un décorateur qui va gérer des logs sur les méthodes de la classe Produit
Les itérateurs et les générateurs (3,5 heures)
• Principe de fonctionnement
• Création d’itérateurs
• Implémentation de générateurs
• Le mot-clé yield
• Travaux pratiques :
- Créer un itérateur et un générateur qui vont parcourir la liste de produits.
La programmation fonctionnelle (3,5 heures)
• Les principes de base de la programmation fonctionnelle
• La définition de fonctions lambda
• Les fonctions natives filter, map et reduce
• Les listes de compréhensions
• Travaux pratiques :
- Modifier les différentes méthodes d’accès aux produits en intégrant les expressions lambda pour alléger votre code.
Les « context managers » (1,5 heure)
• Principe des « context managers »
• L’instruction with
• Déclaration de « context managers »
• Les « context managers » et les décorateurs
• Le Contextlib
• Travaux pratiques :
- Création d’un « context manager » pour faciliter le parcours de la liste de produits
Manipulation de données avec la librairie Panda (3,5 heures)
• Introduction à la bibliothèque
• Les séries et les dataframes
• La lecture et l’écriture de fichiers
• Les différentes opérations sur les dataframes
• Travaux pratiques :
- Stocker les différents Produits dans des fichiers à l’aide de la librairie Panda
Réalisation de calculs scientifiques avec la librairie Numphy (3,5 heures)
• Présentation de la bibliothèque
• La création de tableaux (ndarray)
• Les différentes opérations disponibles sur les tableaux
• Travaux pratiques :
- Optimiser les fonctionnalités de votre gestion de stock à l’aide des fonction Numphy
Programmation parallèle et asynchrone (3,5 heures)
• L’objectif de la programmation asynchrone
• Le modèle de programmation
• Le module thread et les classes associées
• Le module asyncio
• Travaux pratiques :
- Optimiser l’application de gestion de produits en réalisant des traitements asynchrones pour accéder aux produits.