Formation Python, perfectionnement

La programmation en Python est l'une des compétences les plus demandées aujourd'hui sur le marché du travail informatique. En effet, la croissance du secteur des développeurs ne cessent de croître.

Cette formation Python perfectionnement s'adresse aux développeurs qui ont déjà des bases de connaissances en Python. À l’issue de la formation, le participant sera en mesure d'implémenter de manière rigoureuse des Design Patterns reconnus, d'utiliser les techniques avancées du langage Python telles que Contexte Manager, méta classes, closures, fonctions avancées.

Le participant pourra optimiser les performances de son programme grâce au monitoring et au parallélisme dont il aura une parfaite maîtrise.

Formation Python, perfectionnement

À l’issue de la formation, le participant sera en mesure de :

  • Implémenter de manière rigoureuse des Design Patterns reconnus
  • 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

Evaluation de la formation et de votre progression vers vos objectifs

Avant le début de la formation, un questionnaire vous permettra d’exprimer vos objectifs personnels et d’évaluer votre degré de maîtrise des principales thématiques abordées dans la formation.

Pendant la formation, le formateur observera vos pratiques afin de pouvoir vous donner des conseils personnalisés quant aux points forts sur lesquels vous pourrez vous appuyer et aux points de vigilance sur lesquels il doit axer ses efforts.

À la fin de la formation, vous aurez à remplir un questionnaire (QCM et/ou des ateliers et des exercices pratiques) pour évaluer vos nouvelles compétences et votre progression vers vos objectifs. Un questionnaire supplémentaire vous permettra d'indiquer votre niveau de satisfaction à l'égard de la formation.

Un questionnaire d’auto-évaluation à froid vous sera proposé 6 à 9 mois après la fin de formation. Celui-ci vous permettra de prendre du recul sur 

les bénéfices acquis, les efforts restant à déployer et votre degré de satisfaction vis à vis de la formation. 

Cette formation s'adresse aux Ingénieurs et développeurs.

4 JOURS

Rappels importants sur le langage

  • Affectation par référence et types de données modifiables, non modifiables (mutable).
  • Passage d'arguments, valeurs par défaut et variables locales.
  • Variables de classe et d'instances.
  • Les slices et structures de données avancées.
  • L'introspection.
  • Eléments avancés des structures de contrôle : la clause else des instructions for, while, try/except.


Travaux pratiques

Optimisation : intersection de listes et calcul de complexité d'algorithmes.

Fonctions avancées

  • Utilisation avancée de décorateurs (de la génération à la consommation, pipeline de consommateurs).
  • Les décorateurs et Design Patterns.
  • Fermeture/closure.


Travaux pratiques

Chaînage de consommateurs de données. Abonnement à des événements via les décorateurs.

Programmation Orientée Objet avancée

  • Les propriétés (property).
  • Les itérateurs.
  • L'héritage multiple et ses travers.
  • Les Context Managers.
  • Les classes et méthodes abstraites (ABC).
  • Les métaclasses.


Travaux pratiques

Implémenter une métaclasse pour créer des classes de type singleton.

Déploiement et qualité

  • Installer des librairies tierces (pip, easy_install).
  • Le Python Package Index (PyPI).
  • Packager ses librairies (distutils, setuptools).
  • Déployer un environnement autonome (virtualenv et buildout).


Travaux pratiques

Packager une librairie et la déposer sur PypI.

Le parallélisme : optimiser les performances de vos programmes

  • Profilez vos programmes avec Timeit et cProfile.
  • Parallélisation : évitez le multithreading et foncez avec le multiprocessing.
  • Calcul distribué avec la librairie Celery.


Travaux pratiques

Répartition et consolidation (Map Reduce) de calculs avec Celery.

Les librairies contribuant au succès du langage

  • Calcul scientifique et statistiques avec Numpy, Scipy, Matplotlib et Pandas.
  • Intelligence Artificielle et algorithmes d'apprentissage avec Scikit-Learn.
  • Recherche d'informations dans des fichiers XML avec ElementTree.
  • Réseau : relay tcp avec Twisted et supervision SNMP avec PySNMP.


Travaux pratiques

Extraction d'informations dans des fichiers de log XML, filtres et statistiques sur les données collectées puis représentation à l'aide de graphiques des tendances des informations.

 

Méthodes et moyens

Cette formation repose sur une combinaison de constructions participatives, de mises en perspectives par des apports théoriques et méthodologiques, et de mises en situation (simulation et jeux de rôle) permettant de mettre en évidence les difficultés et de découvrir progressivement les méthodes et techniques appropriées. 

Bonnes connaissances en développement Python, ou connaissances équivalentes à celles apportées par les stages THO ou PYT. Expérience requise.

  • Rugosité
  • Consciencieux
REF:
NUM_DEV_06
Durée:
4 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
2 400,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023
REF:
NUM_DEV_06
Durée:
4 jours
Modalité Pédagogique:
Nombre de participants:
Prix:
2 400,00 €
Prochaine date de formation : Le délai moyen de mise en œuvre est de 3 semaines à la suite de votre demande.
Modifié le 19-10-2023