Développer avec Python avancé Mixte : présentiel / à distance

Dernière mise à jour : 21/12/2023

Bannière visuelle de présentation de la formation

Présentation

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

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

Public visé

Développeurs Python

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

Prérequis

Avoir suivi le cours “Développer avec Python” ou avoir au moins trois mois d'expérience en programmation Python.

Moyens et supports pédagogiques

  • ·       Apports des connaissances communes.
  • ·       Mises en situation sur le thème de la formation et des cas concrets.
  • ·       Méthodologie d'apprentissage attractive, interactive et participative.
  • ·       Equilibre théorie / pratique : 60 % / 40 %.
  • ·       Supports de cours fournis au format papier et/ou numérique.
  • ·       Ressources documentaires en ligne et références mises à disposition par le formateur.

    ·       Pour les formations en présentiel dans les locaux mis à disposition, les apprenants sont accueillis dans une salle de cours équipée d'un réseau Wi-Fi, d'un tableau blanc ou paperboard. Un ordinateur avec les logiciels appropriés est mis à disposition (le cas échéant).

     

Modalités d'évaluation et de suivi

En amont de la formation

·       Recueil des besoins des apprenants afin de disposer des informations essentielles au bon déroulé de la formation (profil, niveau, attentes particulières...).

·       Auto-positionnement des apprenants afin de mesurer le niveau de départ.

Tout au long de la formation

·       Évaluation continue des acquis avec des questions orales, des exercices, des QCM, des cas pratiques ou mises en situation...

A la fin de la formation

·       Auto-positionnement des apprenants afin de mesurer l'acquisition des compétences.

·       Evaluation par le formateur des compétences acquises par les apprenants.

·       Questionnaire de satisfaction à chaud afin de recueillir la satisfaction des apprenants à l'issue de la formation.

·       Questionnaire de satisfaction à froid afin d'évaluer les apports ancrés de la formation et leurs mises en application au quotidien.

Accessibilité

Nos formations peuvent être adaptées à certaines conditions de handicap. Nous contacter pour toute information et demande spécifique.

M'inscrire à la formation

Valider la pré-inscription

Inscription possible jusqu'à 10 jours avant démarrage formation

Session sélectionnée

    Prochaines Sessions

    • Désolé, cette formation n'est pas programmée pour le moment.

      Si vous êtes responsable formation, vous pouvez faire une requête pour l'organiser en INTRA dans votre entreprise.

    Dans la même catégorie

    Catalogue de formation propulsé par Dendreo,
    Plateforme dédiée pour les OF