Python avancé : Bonnes pratiques et design patterns

Formation #1906 - 4 jours

Cette formation avancée sur le langage de programmation Python va vous permettre de découvrir et d'appliquer les bonnes pratiques de programmation avec Python. Vous allez approfondir votre expérience en matière de programmation Python pour développer des applications fiables et stables et appliquer des design patterns (patrons de conception) afin de résoudre les principales difficultés liées à la conception de logiciels avec Python rencontrées sur le terrain.

  • Appliquer des design patterns et des bonnes pratiques pour développer des applications avec Python
  • Exploiter des fonctionnalités avancées de programmation Python pour concevoir des programmes fiables
  • Créer et gérer des threads de contrôle concurrents
  • Générer des requêtes et des réponses aux services Web REST et utiliser les données renvoyées
  • Suivre l'exécution du programme et améliorer les performances
  • Lancer des tests unitaires sur les programmes et les modules Python, les installer et les distribuer

  • Appliquer des design patterns courants à des programmes Python
  • Vérifier que le code est correct avec les tests unitaires et les mock objects
  • Développer des services Web REST et des clients REST
  • Déceler les erreurs et déboguer le code Python
  • Créer et gérer des threads et des processus
  • Installer et distribuer des programmes et des modules

Aux programmeurs, développeurs, ingénieurs en logiciels, testeurs et responsables techniques qui veulent approfondir leurs connaissances du langage Python pour apprendre les bonnes pratiques de programmation, appliquer des design patterns au sein de leurs projets et tester, déboguer, optimiser et distribuer leur code.

Vous devez avoir des connaissances pratiques des principes fondamentaux de la programmation Python correspondant au niveau de la formation 1905, Programmation Python : Les fondamentaux. Si vous n’avez pas suivi cette formation, vous devez justifier d’une expérience professionnelle de 3 à 6 mois de programmation avec Python.

  • Étendre les classes pour définir des sous-classes
  • Hériter des plusieurs super-classes et classes mixin
  • Ajouter des propriétés à une classe
  • Définir des classes abstraites de base

Écriture de code Python

  • Personnaliser les itérations et les indexations avec des méthodes « magiques »
  • Modifier le code de façon dynamique avec le « monkey patching »

Traitement des exceptions

  • Lever des exceptions personnalisées
  • Réduire la complexité du code avec les gestionnaires de contexte et l'instruction with

Tests : Les bonnes pratiques

  • Développer et lancer des tests unitaires Python
  • Simplifier les tests automatiques avec le paquetage Nose

Vérification du comportement du code

  • Investiguer les dépendances entre objets avec le paquetage Mock
  • Mettre en œuvre les assertions avec le paquetage MagicMock

Identification des erreurs

  • Journaliser les messages pour les audits et le débogage
  • Vérifier le code à la recherche de bogues avec PyLint

Débogage du code Python

  • Extraire les informations sur les erreurs à partir des exceptions
  • Suivre l'exécution du programme avec l'environnement de développement intégré PyCharm

Patrons structurels

  • Mettre en œuvre les patrons décorateurs avec @
  • Contrôler les accès à un objet avec le patron Proxy

Patrons comportementaux

  • Utiliser le patron d'itération avec les générateurs Python
  • Définir un algorithme squelette avec le patron de méthode
  • Autoriser des couplages lâche entre classes avec le patron observateur

Services Web REST Python

  • Développer un service REST
  • Générer des réponses JSON pour des clients Ajax

Clients REST Python

  • Envoyer des requêtes REST depuis un client Python
  • Utiliser les données JSON et XML renvoyées

Mesurer l'exécution de l'application

  • Chronométrer l'exécution des fonctions avec le module « timeit »
  • Suivre l'exécution du programme via « cProfile »
  • Manipuler le suivi de l'exécution de manière interactive avec « pstats »

Les fonctionnalités du langage Python pour l'optimisation des performances

  • Déterminer les structures de données efficaces parmi listes, dictionnaires et tuples
  • Transformer et filtrer des ensembles de données avec les compréhensions
  • Remplacer l'interpréteur traditionnel Python par PyPy

Gestion des versions des modules

  • Installer les modules depuis le dépôt PyPi avec pip
  • Portabilité du code entre les différentes versions de Python

Paquetage des modules et des applications Python

  • Définir des environnements Python isolés avec « virtualenv »
  • Préparer la distribution d'un paquetage avec « setuptools »
  • Importer les modules Python dans un dépôt local

Processus légers (threads)

  • Créer et gérer plusieurs threads de contrôle avec la classe Thread
  • Synchroniser des threads avec des verrous

Traitements lourds

  • Exécuter des commandes du système d'exploitation comme sous-processus
  • Synchroniser des processus avec les files d'attente
  • Exécuter des traitements en parallèle avec les groupes de processus et des exécuteurs

Sessions planifiées inter-entreprises

Inscrivez-vous à une de nos sessions en sélectionnant un mode de suivi :

12 septembre 2017 - 2220 € - À Paris ou À distance
21 novembre 2017 - 2220 € - À Paris ou À distance

Aucune session ne vous convient ? Faites-nous part de vos disponibilités dans votre demande de devis.

Demander un devis

Intra-entreprise

Organisez cette formation Learning Tree sur votre lieu de travail avec notre solution intra-entreprise.

Demander un devis

Financez votre formation

  • Programmes Visa Société et Passeport
  • Réduction Return to Learn

Pour en savoir plus, cliquez ici.

Votre formation à distance et en direct

Sans frais supplémentaires, depuis tout lieu possédant une connexion Internet, connectez-vous en temps réel et en direct à une session dispensée par nos formateurs grâce à AnyWare™, la plateforme de formation en distanciel de Learning Tree.

Notre catalogue

Vous souhaitez parcourir toute notre offre de formation ultérieurement ?

Téléchargez notre catalogue

Suivez une formation Learning Tree et profitez des avantages de SUPINFO International University !

Pour toute formation que vous aurez suivi chez Learning Tree, SUPINFO International University vous offre pendant un an le statut Advanced Member d'une valeur de 250€.
Ce statut privilégié vous permettra de profiter de ressources pédagogiques sélectionnées par SUPINFO :

* Services disponibles prochainement.