Développement C/C++ Perl et Python

Python, perfectionnement

Objectifs de la formation

  • 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


Programme de la formation

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.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Développer avec le langage C (Prev Lesson)
(Next Lesson) Python, programmation Objet
Back to Développement C/C++ Perl et Python
Public

Ingénieurs et développeurs.

Pré-requis

Bonnes connaissances en développement Python, expérience requise.

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.