Programme PYTHON PERFECTIONNEMENT : Analyser, fiabiliser et optimiser du code existant

Participants :

Développeurs Python intermédiaires / avancés, équipes techniques travaillant sur du code existant ou toute personne souhaitant monter en expertise Python

Durée : 3 jours - 21 heures
Tarif : Nous contacter pour une formation INTER – INTRA ou en COURS PARTICULIER

La formation est délivrée en présentiel ou distanciel (e-learning, classe virtuelle, présentiel et à distance). Le formateur alterne entre méthodes démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation). La validation des acquis peut se faire via des études de cas, des quiz et/ou une certification.

Cette formation est animée par un consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par Audit Conseil Formation.

Dates des formations
Contactez-nous pour des informations sur les disponibilités pour cette formation.
Logo ACF

Demande de devis

Formation
Cadre
Nom/Prénom
Société
E-mail
Téléphone
Période
Evaluer mon niveau

Les objectifs

Comprendre
Comprendre
et analyser du code Python avancé
Identifier
Identifier
les pièges et comportements implicites du langage
Utiliser
Utiliser
les fonctionnalités avancées (POO, décorateurs, context managers…)
Fiabiliser
Fiabiliser
un code via tests, gestion d’erreurs et bonnes pratiques

pré-requis

Bonne maîtrise de Python, connaissance de la POO et expérience sur des scripts ou projets Python

Moyens pédagogiques, techniques et d'encadrement

  • 1 poste de travail complet par personne
  • De nombreux exercices d'application
  • Mise en place d'ateliers pratiques
  • Remise d'un support de cours
  • Remise d'une attestation de stage

Modalités d'évaluation des acquis

- Evaluation des besoins et objectifs en pré et post formation
- Evaluation technique des connaissances en pré et post formation
- Evaluation générale du stage

Accessibilité handicapés

  • Au centre d’affaires ELITE partenaire d’ACF à 20 m.
  • Guide d’accessibilité à l’accueil.

Le Programme

Jour 1 — Comprendre et analyser du code Python avancé

RAPPELS AVANCÉS DU LANGAGE (VERSION “MAINTENANCE”)

Références et mutabilité (mutable / immutable) : bugs classiques
Passage d’arguments, valeurs par défaut, variables locales
Variables de classe vs instance
Structures de contrôle avancées : else sur for, while, try
Imports : lecture de projet, dépendances, couplage

LECTURE ET COMPRÉHENSION DE CODE

Identifier la logique métier
Comprendre les flux de données
Repérer les zones à risque

Travail pratique

Audit guidé d’un script “mystère” + cartographie des flux + modification métier sécurisée

Jour 2 — Structuration avancée avec fonctions et POO

FONCTIONS AVANCÉES

Décorateurs : lecture et utilisation
*args / **kwargs : API flexibles
Closures : usages et limites

POO AVANCÉE

Property : contrôle d’accès
Itérateurs et protocoles d’itération
Context Managers : gestion des ressources
Classes abstraites (ABC) : définir des contrats

CONCEPTION AVANCÉE

Design Patterns : quand et comment les utiliser
Métaclasses : compréhension (lecture de code existant)

Travail pratique refactorisation d’un code (IA / legacy) + ajout de tests (pytest) + sécurisation du comportement

Refactorisation d’un code (IA / legacy) + ajout de tests (pytest) + sécurisation du comportement

Jour 3 — Qualité, performance et industrialisation

QUALITÉ ET DÉPLOIEMENT

Installation de librairies (pip, PyPI)
Packaging (setuptools)
Environnements (virtualenv)
Versioning et reproductibilité

PERFORMANCE ET CONCURRENCE

Profiling avec cProfile
Optimisation basée sur mesure
Threading vs multiprocessing
Introduction au calcul distribué (Dask)

LIBRAIRIES COURANTES (PANORAMA PROJET)

Data : NumPy, Pandas, Matplotlib
Scientifique : SciPy
IA : Scikit-learn (pipeline simple, vigilance usage)
Données et systèmes : XML, logs, accès réseau
Accès base de données (SQL / ORM)

Travail pratique final

Analyse de logs XML + statistiques + visualisation + optimisation (profiling) + packaging du projet