Référence : ML94c50ogOCp
Durée : 21 h sur 3 j
Tarif
4 200 €
HT
Elara Formations
ANTIBES
Intra-Entreprise
Une formation intra-entreprise réunit dans une même session les salariés d'une seule entreprise. Elle se déroule généralement dans les locaux de l'entreprise. Le tarif est convenu pour la formation d'un groupe de salarié.
La plupart des développeurs Python atteignent un plateau après quelques années : ils écrivent du code qui fonctionne, mais ne maîtrisent pas les mécanismes qui rendent Python aussi expressif. Quand ils lisent le code source de Pandas, Polars, SQLAlchemy ou pytest, ils tombent sur des décorateurs, des descripteurs, des métaclasses — et ils décrochent.

Cette formation franchit ce cap. Elle explore les paradigmes avancés du langage : générateurs et itérateurs personnalisés, décorateurs et clôtures, descripteurs, métaclasses. Ce sont les notions qui permettent de comprendre les grandes librairies Python et d'écrire du code générique, réutilisable et maintenable.

Découvrez le programme de la formation Python avancé — programmation objet, décorateurs et métaclasses.

Détails de la formation

Méthodes et outils pédagogiques

La formation alterne exposés théoriques courts et exercices pratiques sur notebooks Jupyter. Chaque concept est immédiatement mis en application. J'attache une attention particulière à ce que chaque participant suive, quel que soit son niveau initial, et je calibre la profondeur de chaque sujet en fonction du groupe.

Les supports sont fournis aux participants à l'issue de la formation, accompagnés des notebooks d'exercices corrigés.

Objectifs de la formation

À l'issue de cette formation, vous saurez

  • Distinguer et utiliser méthodes statiques, de classe et d'instance selon le bon contexte
  • Implémenter des décorateurs en utilisant clôtures et attributs de fonctions
  • Concevoir des itérateurs personnalisés avec des fonctions génératrices
  • Contrôler l'accès aux attributs avec propriétés et descripteurs
  • Comprendre le protocole des métaclasses et sa relation avec le système de types Python
  • Lire et comprendre le code source des grandes librairies de l'écosystème Python

Méthodes d'évaluation

Il n'y a pas d'évaluation dans cette formation.

Les plus

Pourquoi me confier la formation de vos équipes ?

Un chercheur qui pratique ce qu'il enseigne

Directeur de Recherche à Inria, j'utilise Python depuis plus de 20 ans dans mes propres travaux de recherche, sur des données à très grande échelle : analyse complète du graphe social de Twitter (505 millions de comptes, 23 milliards de liens), traitement de l'intégralité du graphe de transactions Bitcoin (16,5 milliards de liens, 1,5 milliard d'adresses), mesures massives d'exposition aux ondes radio. Ces travaux ont donné lieu à une couverture par le New York Times, le Washington Post, Fortune et Le Monde. Quand j'enseigne Polars, le streaming engine ou les pièges du parallélisme, ce sont les outils que j'utilise au quotidien.

Une pédagogie rodée sur 200 000 apprenants

Co-créateur en 2014 avec Thierry Parmentelat du MOOC Python sur la plateforme FUN, suivi par plus de 200 000 inscrits et utilisé par Sorbonne Université et CentraleSupélec. Les supports et la progression pédagogique sont éprouvés sur un public extrêmement varié, du débutant complet au développeur expérimenté qui souhaite consolider ses fondations. Cette diversité m'a appris à identifier rapidement le niveau réel d'une équipe et à adapter le rythme en conséquence.

Un focus performance toujours à l'état de l'art

La spécificité de mon catalogue : aller au-delà de la data science d'introduction. Polars vs Pandas sur des volumes qui dépassent la RAM, parallélisme CPU-bound, accélération JIT avec Numba, gestion mémoire fine. Ce sont les sujets qui distinguent une équipe qui prototype d'une équipe qui livre en production. Les supports évoluent en continu pour suivre l'écosystème — nouvelles versions de Polars, évolutions du streaming engine, bonnes pratiques émergentes — parce que c'est aussi mon terrain de recherche au quotidien.

Pré-requis

Public cible

Développeurs, ingénieurs, chercheurs souhaitant approfondir leur maîtrise de Python au-delà des bases et comprendre les mécanismes internes du langage.

Prérequis

Avoir suivi la formation « Python — niveau 1 » ou disposer d'un niveau équivalent : maîtrise des références partagées, du typage dynamique, des espaces de

Modalités d'enseignement

  • En présentiel
  • En distanciel

Public cible

Tous publics

Votre formateur

Arnaud Legout
## Parcours

Je suis Directeur de Recherche à Inria, l'institut national de recherche en sciences du numérique, basé sur le site de Sophia Antipolis. Mes travaux portent sur les systèmes distribués, les mesures Internet et l'analyse de très grands volumes de données.

J'utilise Python quotidiennement depuis plus de 20 ans, sur des problèmes de recherche concrets qui m'ont conduit à pratiquer en profondeur la plupart des sujets que j'enseigne aujourd'hui : performance numérique, parallélisme, gestion mémoire sur des datasets multi-milliards de lignes, manipulation avancée avec Polars.

Je forme des professionnels au langage Python depuis 2011, en entreprise comme dans le monde académique. À ce jour, mes formations ont été suivies par des équipes chez Orange, Cisco, Intel Mobile Communications, Gemalto, EPCOS, Transvalor, ainsi que par de nombreux chercheurs et ingénieurs au CNRS, à l'INRAE, à l'INSERM, à l'Observatoire de la Côte d'Azur et à l'Université Côte d'Azur.

## Travaux de recherche

Mes travaux portent sur les systèmes distribués, les mesures Internet à grande échelle, et l'analyse de très grands volumes de données. Quelques projets significatifs :

- Sotweet — Études à grande échelle sur Twitter : analyse complète du graphe social (505 millions de comptes, 23 milliards de liens) et étude de la propagation d'information. L'une de nos publications a notamment montré que près de 6 personnes sur 10 partagent un article sur Twitter sans l'avoir lu. Résultats publiés à ACM SIGMETRICS 2014 et ACM SIGMETRICS 2016, et largement repris par la presse internationale : Washington Post, Fortune, El Diario.
- Bluebear — Analyse des menaces à la vie privée sur Internet. Monitoring continu de 148 millions d'adresses IP téléchargeant 2 milliards de copies de contenus via des protocoles pair-à-pair (BitTorrent, Tor, Skype). Publications dans LEET 2010, LEET 2011, ACM SIGCOMM/USENIX IMC 2011 ; couverture par le New York Times, Le Monde.
- ElectroSmart — Mesure crowdsourcée de l'exposition aux ondes radiofréquences (antennes cellulaires, Wi-Fi, Bluetooth), déployée sur smartphones grand public : 254 410 utilisateurs uniques dans 13 pays, de janvier 2017 à décembre 2020. Publication dans Environment International.
- Analyse du graphe de transactions Bitcoin — Traitement de l'intégralité de la chaîne de transactions Bitcoin depuis ses débuts — 16,5 milliards de liens entre 1,5 milliard d'adresses — manipulation en Python avec Polars sur fichiers Parquet partitionnés.

Cette pratique sur des données réelles à grande échelle nourrit directement le contenu de mes formations. Au-delà du code, ces projets m'ont donné l'expérience du sens de l'analyse : savoir poser les bonnes questions sur un dataset volumineux, identifier les patterns significatifs, et construire des pipelines reproductibles pour des analyses qui tiennent la route scientifiquement.

Page personnelle Inria complète : www-sop.inria.fr/members/Arnaud.Legout/

## Le MOOC Python sur FUN

En 2014, j'ai co-créé avec Thierry Parmentelat le premier MOOC francophone consacré à Python, hébergé sur la plateforme FUN. Une seconde version, dédiée à Python 3, a été publiée en 2017. Depuis 2019, le MOOC est ouvert en permanence à l'inscription.

Le cours a accueilli à ce jour plus de 200 000 inscrits et a été utilisé comme support pédagogique par Sorbonne Université, CentraleSupélec et plusieurs autres établissements.

MOOC Python 3 — des fondamentaux aux concepts avancés (FUN MOOC, 200 000 inscrits)

## Ma façon de former

Mon expérience de chercheur, d'enseignant universitaire et de formateur en entreprise m'a appris une chose : la qualité d'une formation ne se mesure pas au volume de slides parcourus, mais à la capacité des participants à transposer ce qu'ils ont appris dans leur propre code.

Je construis mes formations autour d'exercices pratiques sur notebooks Jupyter, avec des cas d'usage proches des problèmes réels que rencontrent les participants. Je m'assure que chaque concept est compris avant de passer au suivant, quitte à adapter le rythme au groupe. Je reste disponible pour les questions ponctuelles dans les semaines qui suivent la formation : la transmission ne s'arrête pas le dernier jour.

Découvrez l'ensemble du catalogue de formations Python data science sur mon site.

Programme

1
Module 1 — Méthodes statiques et de classe
Révision des classes et instances. Fonctions, méthodes bound et unbound. Méthodes statiques : usages et limites. Méthodes de classe : usages canoniques (constructeurs alternatifs, polymorphisme). Choisir la bonne forme selon le contexte.
2
Module 2 — Décorateurs
Callables, fonctions et clôtures : les mécanismes sous-jacents. Conception de décorateurs sous forme de fonctions, puis sous forme de classes. Attributs de fonctions et conservation des métadonnées avec functools.wraps. Décorateurs de classe. Applications concrètes : timer, watchdog, memoization.
3
Module 3 — Itérateurs et générateurs
Le protocole d'itération en profondeur : __iter__ et __next__. Fonctions génératrices et le mot-clé yield. Expressions génératrices et leur empreinte mémoire. Conception d'itérateurs personnalisés pour vos propres structures de données. Application : chaînes de traitement composables.
4
Module 4 — Gestion avancée des attributs
Propriétés (@property, setter, deleter). Protocole descripteur : __get__, __set__, __delete__. Descripteurs de données vs non-données. Hooks d'attribut : __getattr__, __setattr__, __getattribute__. Applications : validation automatique, attributs calculés, branchements.
5
Module 5 — Métaclasses
La relation instance/classe/métaclasse dans le modèle objet Python. La métaclasse type et la création dynamique de classes. Définir une métaclasse personnalisée avec __new__ et __init__. Cas d'usage : enregistrement automatique, validation de classe, singletons.

Sur la même thématique

Logo eDRH Sud PACA - Footer
Nous contacter

Chambre de Commerce
et d’industrie Nice Côte d’Azur

20 Boulevard Carabacel
CS 11259
06005 NICE CEDEX 1

Tel :04 93 13 75 73
(Appel gratuit depuis un poste fixe)