Formation Python : Bonnes pratiques et Design patterns

4.2 sur 5 étoiles

5 étoiles
20%
4 étoiles
80%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 5 avis
(5 avis)
Durée 4 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence OPYD
Éligible CPF Non

Cette formation Python Bonnes pratiques et Design patterns vous apprend les bonnes pratiques de programmation avec Python.
Lors de ce cours, les participants approfondissent leur expérience de la programmation avec Python pour rendre leurs applications fiables et stables et pour appliquer des design patterns (patrons de conception) qui leur permettront de résoudre les principales difficultés qu'ils rencontrent dans la conception de logiciels avec Python.

Objectif pédagogique : 

Savoir maîtriser les bones pratiques Design patterms avec Python.

Objectifs pédagogiques : 

Concrètement, à l'issue de cette formation Python Bonnes pratiques et Design patterns vous aurez acquis les connaissances et les compétences nécessaires pour :

  • 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.

Public :

Cette formation est destinée aux programmeurs, développeurs, ingénieurs en logiciels, testeurs et responsables techniques souhaitant approfondir leurs connaissances du langage Python.

Prérequis :

Afin de suivre ce stage, il est nécessaire d'avoir suivi la formation Python (réf. OPYT) ou de posséder les connaissances équivalentes telles qu'une expérience professionnelle d'au moins 3 mois de programmation avec Python.

Programmation orientée objet 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

Fonctionnalités Python

É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

Vérification du code et tests unitaires

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

Recherche des erreurs et techniques de débogage

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

Design patterns Python

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

Interface avec les clients et les services Web REST

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

Mesure et amélioration de la performance de l'application

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

Installation et distribution de modules

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

Exécution en parallèle

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

Ce cours alterne théorie et travaux pratiques pour une meilleure assimilation des notions évoquées.
Les travaux pratiques abordés lors de ce cours sont les suivant : 

  • 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.
Date de mise à jour du programme : 27/06/2022

Avis des participants à la formation Python : Bonnes pratiques et Design patterns

Note moyenne de 4.2/5(5)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

PONTHIEUX Arnaud
4/5

Mon avis sur le contenu du stage :

"Le contenu a évolué au cours de la formation en fonction du publique ce qui est appréciable."

Mon avis sur le formateur :

"Le formateur a réussi à recueillir notre feedback en distanciel ce qui est assez impressionnant. Il s'est montré disponible et à toujours répondu à nos sollicitations. Son niveau technique est excellent. Merci"

Ce que j'ai le plus apprécié :

"Possibilité de partage des écrans de tous les participants (vraiment intéressant pour montrer aux autres nos travaux et problèmes)."

Ce que j'ai le moins apprécié :

"Peut-être plus difficile d'avoir des échanges entre nous."

BM
5/5

Mon avis sur le contenu du stage :

"La formation était bien complète et a permis de parcourir beaucoup de fonctionnalités de python. Nous avons suivant nos métiers des besoins différents dans l'utilisation de python et les cours et exercices étaient très variés pour convenir à tous. "

Mon avis sur le formateur :

"Notre formateur connaît parfaitement son domaine et est très pédagogue. Il a su répondre à nos questions et adapter les supports car nous avons tous des niveaux d'utilisation différents de Python. "

MD
4/5

Mon avis sur le contenu du stage :

"Le contenu était un peu trop dense par rapport au temps imparti, avec un enchaînement assez rapide, du coup il était difficile d'assimiler les notions vues."

BC
4/5

Mon avis sur le contenu du stage :

"Formateur très intéressant qui explique très bien les concepts"

GA
4/5

Mon avis sur le formateur :

"Formateur agréable, disponible et très compétent"


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB