ZahoUpZahoUp
NouveauPython

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

360 minutes
10 chapitres
Intermédiaire
À ton rythme
Mentor IA intégré
Mode interview

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

  1. 01

    Fonctions avancées : portée, clôtures et décorateurs

    Aperçu

    En 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 min
    Ouvrir
  2. 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 min
  3. 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 min
  4. 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 min
  5. 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 min
  6. 06

    Fonctions, générateurs, classes et protocoles

    Quiz30 min
  7. 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 min
  8. 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 min
  9. 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 min
  10. 10

    Bilan : fonctions, classes, erreurs et typage

    Quiz40 min

Python : progresser et gagner en autonomie

Aperçu du chapitre 1 · compte gratuit pour tout lire

Créer mon compte gratuit