Description
Objectifs de formation : À l’issue de la formation, le stagiaire sera capable d’utiliser les fonctionnalités avancées de Python ainsi que les principaux outils associés au langage, pour pouvoir répondre aux exigences de programmation.
Objectifs pédagogiques
- Utiliser les fonctionnalités avancées de Python, notamment la librairie asyncio pour la programmation asynchrone
- Manipuler des codes basés sur le principe de thread asynchrone et transmettre des signaux entre différents processus asynchrones sur un même thread
- Exploiter les techniques avancées de POO en Python
- Optimiser les performances des programmes via le parallélisme et l'asynchronisme
Public concerné
Ingénieurs
Développeurs
Prérequis
Disposer de bonnes connaissances en développement Python
Déroulé du programme
1
Découverte des fonctions avancées du langage
- Les décorateurs : génération à consommation et pipelines
- Les design patterns & les décorateurs
- Fermeture/closure
- Travaux pratiques : chaînage de consommateurs de données, abonnement à des événements via les décorateurs
2
POO avancée
- Property
- Itérateurs
- Héritages multiples : intérêts et défauts
- ABC : classes et méthodes abstraites
- Context manager
- Les métaclasses
- Travaux pratiques : Implémenter une métaclasse & créer une classe de type Singleton
3
Programmation asynchrone avec Asyncio
- Concepts de base de l'asynchronisme
- La librairie asyncio : présentation et utilisation
- Boucle d'événements, tâches et coroutines
- Syntaxe async et await
- Travaux pratiques : Création d'une application simple avec asyncio
- Gestion des exceptions dans les coroutines
- Annulation des tâches asynchrones
- Utilisation des context managers avec asyncio
- Travaux pratiques : Manipulation des exceptions et annulation des tâches
- Synchronisation des tâches avec asyncio.gather et asyncio.wait
- Gestion des dépendances entre tâches
- Synchronisation avec les sémaphores et verrous asynchrones
- Travaux pratiques : Coordination de tâches asynchrones complexes
- Transmettre des signaux entre différents processus asynchrones sur un même thread
- Utilisation des queues asynchrones (asyncio.Queue)
- Communication entre coroutines via des canaux de communication
- Travaux pratiques : Implémentation d'un système de communication entre processus asynchrones
4
Améliorer les performances : le parallélisme
- Profilage des programmes
- Parallélisation
- Multiprocessing : parallélisation de traitements unitaires sur des fichiers et récupération des résultats
- Communication entre processus enfants et processus parent (mode asynchrone et multiprocessing)
- Travaux pratiques : Répartition et consolidation de calculs avec asyncio et multiprocessing
5
Présentation de librairies
- Gestion et monitoring de clefs USB (montage, démontage, taux d'occupation)
- Points de montage samba
- Partitions Linux
- Travaux pratiques : Surveillance de périphériques USB et points de montage en utilisant des bibliothèques spécifiques
Informations
Durée
4 jour(s)
28h
Tarif
Sur demande
Formations similaires
IA & Data
Migration vers le Cloud
2 jour(s)
Sur demande
IA & Data
Agents IA — Concevoir des systèmes autonomes avec LangChain et LangGraph - Avancé
3 jour(s)
Sur demande
IA & Data
AI Act européen — Comprendre vos obligations et vous mettre en conformité - Niveau débutant
1 jour(s)
Sur demande
IA & Data
Analyse des données avec Microsoft Power BI (4-167)
3 jour(s)
2200 € HT