Cette formation vous permettra de développer vos compétences fondamentales en programmation Python pour créer des applications fiables et stables. Vous améliorerez votre maîtrise de Python grâce aux meilleures pratiques en matière de programmation orientée objet, de test, de débogage, de mesure et d'amélioration des performances des applications et de développement de services RESTful.
Objectifs
Utiliser des design patterns et les meilleures pratiques dans les applications Python
Réaliser des tests unitaires, débogages et installations de programmes et modules Python
Profiler l'exécution d'un programme et améliorer les performances
Appliquer des fonctionnalités de programmation Python avancées pour des programmes efficaces, fiables et maintenables
Public visé
Développeurs Python
Prérequis
Avoir suivi le cours “Développer avec Python” ou avoir au moins trois mois d'expérience en programmation Python.
Programme
Rappels importants sur le langage
Syntaxe de base et nouveautés récentes
Rappels sur les fonctions
Conditions ternaires, listes en compréhensions, one-liners
Fonctions avancées
Accès aux attributs des fonctions
Les générateurs
Les décorateurs
Les closures
Travaux pratiques : création de décorateurs de contrôle, mise en place d'itérables selon plusieurs techniques
Programmation orientée objet avancée
Rappels sur la programmation orientée objet
Ajout de propriétés à une classe
Introspection
Redéfinition des méthodes spéciales : itérateurs, context managers, ...
Définition des classes de base abstraites
Création de métaclasses
Travaux pratiques : exploration des différentes fonctionnalités avancées
Vérification du code et tests unitaires
Tester les meilleures pratiques
Développement et exécution de tests unitaires Python
Simplifier les tests automatisés avec nose
Vérification du comportement du code
Utiliser des mocks
Détection des erreurs et techniques de debugging
Vérifier votre code pour des bugs potentiels avec Pylint
Extraction des informations d'erreur depuis les exceptions
Tracer l'exécution d'un programme avec l'IDE PyCharm
Travaux pratiques : test des différents programmes créés précédemment
Interfaçage avec les webservices et les clients de REST
Présentation de Flask, Django, etc.
Mise en place d'un service REST
Générer des réponses JSON pour soutenir les clients Ajax
Clients Python REST
Envoi de demandes REST à partir d'un client Python
Consommation de données de réponse JSON et XML
Travaux pratiques : consommation d'API et webscrapping
Mesure et amélioration des performances de l'application
Chronométrage de l'exécution des fonctions
Profilage de l'exécution d'un programme
Manipuler un profil d'exécution de manière interactive
Utilisation des fonctionnalités du langage Python pour les performances
Appliquer efficacement les structures de données, notamment les listes, les dictionnaires et les tuples
Remplacement de l'interpréteur Python standard par PyPy
Installation et distribution des modules
Gestion des dépendances d'un projet avec pip
Le fichier requirements.txt
La gestion des versions
Installation de modules du dépôt PyPi à l'aide de pip
Portage du code entre les versions Python
Création de paquets de modules et d'applications Python
Mise en place d'environnements virtuels (virtualenv, conda, pipenv, poetry, ...)
Construire un paquet de distribution avec setuptools
Télécharger vos modules Python sur un dépôt local
Travaux pratiques : mise en place d'un projet créé avec environnement virtuel, packaging et déploiement sur PyPI
Exécution simultanée
Création et gestion de plusieurs fils de contrôle avec la classe Thread
Synchronisation des fils à l'aide de verrous
Lancement des commandes du système d'exploitation en tant que sous-processus
Synchronisation des processus avec les files d'attente
Paralléliser l'exécution en utilisant des pools de processus et des exécuteurs
Travaux pratiques : exécution de traitements en parallèle et mesure des performances
Aller plus loin
Présentation de Cython, CPyton
Le typage avec MyPy
Modalités pédagogiques
Docaposte Institute propose plusieurs dispositifs pédagogiques adaptés aux apprenants :
Formation en présentiel
En groupe (inter-entreprises ou intra-entreprise)
En individuel (monitorat)
En journée ou en cours du soir (sur demande spécifique)
Formation en distanciel
Distanciel synchrone
Distanciel asynchrone
Moyens et supports pédagogiques
Alternance d'apports théoriques et de mises en pratique contextualisées.
Progression pédagogique structurée, de la compréhension à la mise en œuvre opérationnelle.
Pédagogie immersive favorisant une mise en application immédiate des compétences.
Formation interactive et participative s'appuyant sur des ateliers pratiques, études de cas et échanges collectifs (+ 60 % du temps de formation.)
Séquences pédagogiques rythmées et évaluations formatives régulières pour renforcer l'ancrage des apprentissages.
Supports de cours, ressources documentaires et références mis à disposition par le formateur
Modalités d'évaluation et de suivi
En amont de la formation(évaluation en ligne dans l'extranet apprenant)
Recueil des besoins et des attentes des participants.
Auto-positionnement permettant d'évaluer le niveau initial des apprenants.
Tout au long de la formation
Évaluations continues réalisées par le formateur à travers des questions orales, exercices, QCM, études de cas et mises en situation pratiques.
À l'issue de la formation(évaluations en ligne dans l'extranet apprenant)
Auto-positionnement afin de mesurer l'acquisition des compétences visées.
Validation de l'acquisition des compétences par le formateur
Questionnaire de satisfaction « à chaud » à l'issue de la formation
Questionnaire de satisfaction "à froid", 45 jours après la formation afin d'évaluer l'ancrage des acquis et leur mise en application en situation professionnelle.
Informations sur l'admission
Nous consulter.
Modalités d'admission
Admission sans disposition particulière
Accessibilité
Nos formations peuvent être adaptées à certaines conditions de handicap. Nous contacter pour toute information et demande spécifique.
Si vous êtes en situation de handicap, contactez-nous avant le début de votre formation pour que nous puissions vous orienter efficacement et vous accueillir dans les meilleures conditions.
Inscription possible jusqu'à 10 jours avant le démarrage de la formation