Perfectionnez vos compétences en Python avec notre formation axée sur les aspects avancés de la programmation objet, l’organisation de projets et la distribution d’applications.
Maîtrisez l’utilisation de décorateurs, d’itérateurs et de générateurs.
Explorez la programmation fonctionnelle et le concept de « context managers ».
Utilisez la bibliothèque Panda pour la manipulation de données et la bibliothèque NumPy pour des calculs scientifiques.
Optimisez les performances avec la programmation parallèle et asynchrone.
Cette formation est admissible pour une prise en charge à 100% par l’OPCO ATLAS.
Inclus dans votre formation en inter-entreprise
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 NumPy (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 NumPy
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.