Python : progresser et gagner en autonomie
Cours complet en 10 chapitres, écrit sur mesure pour ton niveau. Lecture intégrale avec un compte gratuit. À la clé : une compétence prouvée que tu ajoutes à ton profil.
Pédagogie augmentée
Écrite à ton niveau
Ce que tu vas savoir faire
Chaque compétence validée rejoint ton profil vérifié.
- Construire des fonctions avec décorateurs et clôturesIntermédiaire
- Implémenter des itérateurs et générateursIntermédiaire
- Gérer les erreurs et exceptions en PythonIntermédiaire
Programme du cours
10 chapitres · 360 minutes au total
- 01
Fonctions avancées : portée, clôtures et décorateurs
AperçuEn Python, les fonctions sont des objets de première classe : elles se passent, se stockent et se retournent comme n'importe quelle valeur. · La règle LEGB définit l'ordre dans lequel Python cherche un nom de variable : Local, Enclosing, Global, Built-in. · Une clôture capture les variables de sa portée englobante et les conserve même après la fin d'exécution de la fonction parente.
Concept25 minOuvrir - 02
Itérateurs, générateurs et expressions génératrices
Le protocole itérateur repose sur __iter__() et __next__() : tout objet parcourable par un for les implémente. · Un générateur est une fonction avec yield : Python gère automatiquement l'état entre deux appels. · Les générateurs sont paresseux : ils calculent chaque valeur à la demande, ce qui économise la mémoire pour de grands volumes de données.
Concept35 minCréer un compte pour continuer - 03
Construire un pipeline de données paresseux
Combiner générateurs, expressions génératrices et fonctions avancées pour construire un pipeline de traitement de données qui ne charge jamais tout en mémoire. À la fin, tu disposes d'un outil réutilisable et composable, calqué sur le modèle des pipelines Unix.
Pratique40 minCréer un compte pour continuer - 04
Programmation orientée objet : classes, héritage et protocoles
`__init__` initialise l'état d'une instance, `self` la désigne explicitement. · L'héritage multiple est possible en Python, l'ordre de résolution (MRO) suit l'algorithme C3. · Préfère la composition à l'héritage quand la relation est 'a un' plutôt que 'est un'.
Concept30 minCréer un compte pour continuer - 05
Modéliser un système de plugins avec les protocoles
Combiner classes, héritage, protocoles et décorateurs pour construire un registre de plugins extensible, puis brancher ce registre sur le pipeline de données du chapitre 3.
Pratique40 minCréer un compte pour continuer - 06
Fonctions, générateurs, classes et protocoles
Quiz30 minCréer un compte pour continuer - 07
Gestion des erreurs et exceptions en Python
Une exception est un objet Python : elle hérite de BaseException et porte des attributs inspectables. · Le bloc else d'un try s'exécute uniquement en l'absence d'exception, ce qui le distingue clairement du code placé après le try. · Utilise raise ... from exc pour préserver la chaîne causale dans le traceback, et raise ... from None pour la supprimer intentionnellement.
Concept35 minCréer un compte pour continuer - 08
Robustifier le pipeline avec la gestion d'erreurs
Intégrer une gestion d'erreurs structurée dans le pipeline de données construit aux chapitres 3 et 5, afin qu'il continue de fonctionner en présence de données corrompues, de sources indisponibles ou de plugins défaillants.
Pratique45 minCréer un compte pour continuer - 09
Typage statique avec les annotations et mypy
Les annotations de types n'ont aucun effet à l'exécution : elles servent uniquement aux outils d'analyse statique comme mypy. · Depuis Python 3.9 et 3.10, la syntaxe est allégée : `list[str]` et `X | Y` remplacent `List[str]` et `Union[X, Y]`. · `TypeVar` permet d'exprimer des relations de types entre paramètres et valeur de retour sans figer le type concret.
Concept40 minCréer un compte pour continuer - 10
Bilan : fonctions, classes, erreurs et typage
Quiz40 minCréer un compte pour continuer
Python : progresser et gagner en autonomie
Aperçu du chapitre 1 · compte gratuit pour tout lire