Logo de l'organisme de formation

La formation au coeur de l'avenir technologique

Représentation de la formation : Python - Développement avancé - Sopra Steria

Python - Développement avancé - Sopra Steria

Formation à distance
Durée : 28 heures (4 jours)
Taux de satisfaction :
8,9/10
(3 avis)
Durée :28 heures (4 jours)
HT
S'inscrire
Durée :28 heures (4 jours)
HT
S'inscrire
Durée :28 heures (4 jours)
HT
S'inscrire

Formation créée le 24/05/2024.

Version du programme : 1

Programme de la formation

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 de la formation

  • 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

Profil des bénéficiaires

Pour qui
  • Ingénieurs
  • Développeurs
Prérequis
  • Disposer de bonnes connaissances en développement Python

Contenu de la formation

  • 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
  • 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
  • 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
  • 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
  • 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
Équipe pédagogique

Professionnel expert technique et pédagogique.

Suivi de l'exécution et évaluation des résultats
  • Feuilles de présence.
  • Questions orales ou écrites (QCM).
  • Mises en situation.
  • Formulaires d'évaluation de la formation.
  • Certificat de réalisation de l’action de formation.
Ressources techniques et pédagogiques
  • Espace numérique de travail
  • Documents supports de formation projetés.
  • Exposés théoriques
  • Etude de cas concrets
  • Quiz en salle
  • Mise à disposition en ligne de documents supports à la suite de la formation.

Qualité et satisfaction

Taux de satisfaction des apprenants
8,9/10
(3 avis)

Délai d'accès

2 semaines