Python : perfectionnement

  • Pour qui ?

    • Développeurs souhaitant approfondir leurs compétences en Python
    • Data analysts, ingénieurs et techniciens utilisant Python au quotidien
    • Toute personne ayant suivi une initiation à Python et désirant aller plus loin
  • Prérequis

    • Avoir suivi une formation d'initiation à Python ou disposer d'une expérience équivalente
    • Maîtriser la syntaxe de base et les structures de données fondamentales
    • Être à l'aise avec un environnement de développement Python
  • Objectifs pédagogiques

    • Maîtriser la programmation orientée objet et ses concepts avancés
    • Appliquer les techniques de programmation fonctionnelle (lambdas, décorateurs, générateurs)
    • Manipuler et analyser des données avec les bibliothèques NumPy et Pandas
    • Mettre en œuvre des tests unitaires et appliquer les bonnes pratiques de qualité de code
    • Optimiser les performances de ses programmes Python

Description de la formation

◦ Rappels et bonnes pratiques (2h)
• Révision des fondamentaux du langage Python
• Conventions de codage et PEP 8
• Structuration et lisibilité du code
• Atelier : Refactorisation d'un script existant

◦ Programmation orientée objet avancée (3h)
• Héritage simple et multiple
• Méthodes spéciales et surcharge d'opérateurs
• Classes abstraites et interfaces
• Propriétés, décorateurs de classes et méthodes statiques
• Atelier : Conception d'une application orientée objet

◦ Modules, packages et environnements (2h)
• Création et organisation des modules
• Construction de packages réutilisables
• Gestion des environnements virtuels (venv, virtualenv)
• Installation et publication de packages (pip, PyPI)
• Atelier : Création d'un package distribuable

◦ Gestion des exceptions et des fichiers (2h)
• Hiérarchie et gestion avancée des exceptions
• Création d'exceptions personnalisées
• Manipulation des fichiers texte, CSV, JSON et XML
• Gestionnaires de contexte (with et context managers)
• Atelier : Traitement robuste de fichiers de données

◦ Programmation fonctionnelle (3h)
• Fonctions lambda et fonctions d'ordre supérieur
• Map, filter, reduce et compréhensions
• Générateurs et itérateurs
• Décorateurs simples et paramétrés
• Atelier : Mise en œuvre de décorateurs et générateurs

◦ Manipulation avancée des données (3h)
• Introduction à NumPy et calcul vectorisé
• Découverte de Pandas pour l'analyse de données
• Lecture, transformation et agrégation de jeux de données
• Visualisation rapide avec Matplotlib
• Atelier : Analyse d'un jeu de données réel

◦ Tests et qualité de code (2h)
• Tests unitaires avec unittest et pytest
• Mise en place d'assertions et de mocks
• Couverture de code et bonnes pratiques de test
• Outils de qualité (linters, formatters)
• Atelier : Écriture d'une suite de tests sur un module

◦ Interactions avec l'extérieur (2h)
• Consommation d'API REST avec requests
• Manipulation de données JSON
• Connexion à une base de données (SQLite, SQLAlchemy)
• Automatisation de tâches réseau
• Atelier : Récupération et stockage de données depuis une API

◦ Performance et optimisation (2h)
• Mesure et profilage du code
• Bonnes pratiques d'optimisation
• Introduction à la programmation concurrente (threading, multiprocessing)
• Notions sur l'asynchrone avec asyncio
• Atelier : Optimisation d'un script Python

◦ Rappels et bonnes pratiques (2h)
• Révision des fondamentaux du langage Python
• Conventions de codage et PEP 8
• Structuration et lisibilité du code
• Atelier : Refactorisation d'un script existant

◦ Programmation orientée objet avancée (3h)
• Héritage simple et multiple
• Méthodes spéciales et surcharge d'opérateurs
• Classes abstraites et interfaces
• Propriétés, décorateurs de classes et méthodes statiques
• Atelier : Conception d'une application orientée objet

◦ Modules, packages et environnements (2h)
• Création et organisation des modules
• Construction de packages réutilisables
• Gestion des environnements virtuels (venv, virtualenv)
• Installation et publication de packages (pip, PyPI)
• Atelier : Création d'un package distribuable

◦ Gestion des exceptions et des fichiers (2h)
• Hiérarchie et gestion avancée des exceptions
• Création d'exceptions personnalisées
• Manipulation des fichiers texte, CSV, JSON et XML
• Gestionnaires de contexte (with et context managers)
• Atelier : Traitement robuste de fichiers de données

◦ Programmation fonctionnelle (3h)
• Fonctions lambda et fonctions d'ordre supérieur
• Map, filter, reduce et compréhensions
• Générateurs et itérateurs
• Décorateurs simples et paramétrés
• Atelier : Mise en œuvre de décorateurs et générateurs

◦ Manipulation avancée des données (3h)
• Introduction à NumPy et calcul vectorisé
• Découverte de Pandas pour l'analyse de données
• Lecture, transformation et agrégation de jeux de données
• Visualisation rapide avec Matplotlib
• Atelier : Analyse d'un jeu de données réel

◦ Tests et qualité de code (2h)
• Tests unitaires avec unittest et pytest
• Mise en place d'assertions et de mocks
• Couverture de code et bonnes pratiques de test
• Outils de qualité (linters, formatters)
• Atelier : Écriture d'une suite de tests sur un module

◦ Interactions avec l'extérieur (2h)
• Consommation d'API REST avec requests
• Manipulation de données JSON
• Connexion à une base de données (SQLite, SQLAlchemy)
• Automatisation de tâches réseau
• Atelier : Récupération et stockage de données depuis une API

◦ Performance et optimisation (2h)
• Mesure et profilage du code
• Bonnes pratiques d'optimisation
• Introduction à la programmation concurrente (threading, multiprocessing)
• Notions sur l'asynchrone avec asyncio
• Atelier : Optimisation d'un script Python

Modalités pédagogiques

La formation s'appuie sur une pédagogie active et participative, alternant apports théoriques, démonstrations et mises en situation pratiques.

Les stagiaires sont sollicités tout au long de la session par des exercices d'application, des études de cas concrets et des temps d'échange permettant l'ancrage progressif des connaissances. Le formateur adapte son rythme et ses exemples au niveau du groupe et au contexte professionnel des participants.

En distanciel, la formation se déroule en classe virtuelle synchrone, via une plateforme de visioconférence permettant le partage d'écran, le travail en sous-groupes et l'interaction continue avec le formateur.

En présentiel, les exercices peuvent être réalisés individuellement ou en petits groupes selon les objectifs pédagogiques de chaque séquence.

Moyens et supports pédagogiques

Chaque stagiaire dispose d'un support de cours numérique reprenant l'ensemble des contenus abordés, complété par les exercices pratiques et les ressources complémentaires utilisées pendant la session. Ce support est transmis à l'issue de la formation et reste accessible au stagiaire pour consultation ultérieure.

En présentiel, une salle équipée d'un vidéoprojecteur, d’ordinateurs et d'une connexion internet est mise à disposition.

En distanciel, la formation s'appuie sur une plateforme de classe virtuelle (lien d'accès transmis avec la convocation), accessible depuis un ordinateur muni d'un micro, d'une caméra et d'une connexion internet stable. Les exercices et études de cas sont partagés en temps réel via la plateforme. L'ensemble des supports pédagogiques est conçu par le formateur ou par Algorythme Formation et reste leur propriété exclusive.

Modalités d'évaluation et de suivi

L'atteinte des objectifs est mesurée par une auto-évaluation de l'apprenant, réalisée en entrée et en sortie de formation. Pour chaque objectif pédagogique, l'apprenant évalue son niveau de maîtrise sur une échelle de 0 à 10. L'écart entrée / sortie matérialise la progression et l'atteinte des objectifs.

À l'issue de la session, une synthèse (niveaux avant / après et commentaire du formateur) est transmise au commanditaire.

Le suivi administratif est assuré par la signature d'une feuille de présence à chaque demi-journée. Un certificat de réalisation est remis à l'apprenant ayant suivi l'intégralité de la formation.

Un questionnaire de satisfaction à chaud, distinct, recueille le ressenti de l'apprenant (et non les acquis).

Modalités et délais d'accès

L'inscription se fait par contact direct avec Algorythme Formation (téléphone, email ou formulaire en ligne). Un échange préalable est organisé pour vérifier l'adéquation entre les objectifs de la formation, les prérequis et le profil du candidat. Un devis et un programme détaillé sont ensuite transmis. Une fois le devis accepté, une convention de formation (ou un contrat de formation pour les particuliers) est signée entre les parties.

Accès au lieu de formation : les modalités précises d'accès sont communiquées à chaque stagiaire au plus tard 10 jours ouvrés avant le début de la formation, par l'envoi d'une convocation détaillée. Pour les formations en présentiel, cette convocation précise l'adresse exacte de la salle, les indications d'accès (transports, parking) et les horaires d'arrivée. Pour les formations en distanciel, elle contient le lien de connexion à la classe virtuelle, les identifiants d'accès le cas échéant, ainsi que les prérequis techniques (navigateur, micro, caméra, débit internet).

Accessibilité aux personnes en situation de handicap : tout besoin d'adaptation doit être signalé dès l'inscription afin d'étudier les aménagements possibles. Le référent handicap d'Algorythme Formation est Mathieu Piron-Lafleur (mathieu@algorythme-formation.fr).

Délai d'accès : le délai entre la demande d'inscription et le démarrage effectif de la formation est de 10 jours ouvrés minimum. Ce délai peut être plus long si la session demandée n'est pas encore programmée ou si une ingénierie sur mesure est nécessaire (jusqu'à 2 mois). À l'inverse, il peut être raccourci sur accord des parties dans le cas de formations intra-entreprise urgentes.

Conformément à la réglementation (loi du 11 Février 2005 et Articles D.5211-1 et suivants du code du travail), Algorythme Formation s’engage à répondre aux besoins particuliers des stagiaires en situation de handicap en proposant des aménagements en termes de durée, rythme, méthodes et supports pédagogiques...).

Le cas échéant, l’organisme de formation pourra mobiliser des compétences externes (Centre de Ressources Formation Handicap, P.A.S AGEFIPH-FIPHFP) et les ressources AD HOC (ACCEA, EPATECH,..) pour la recherche de solutions permettant l’accès aux formations.