Python avancé

Une fois qu'on connaît Python, la question n'est plus comment l'écrire mais quel outil choisir. On industrialise un projet, puis on creuse les concepts qui rendent le code plus court et plus solide, pour finir sur la concurrence et la persistance. L'objectif : naviguer les compromis, forces et faiblesses de la bibliothèque standard.

Durée : 3 jours · Niveau : avancé

Pour qui : les développeurs Python expérimentés souhaitant maîtriser les aspects avancés du langage.

Prérequis : maîtriser les concepts du programme « Apprendre la programmation avec Python ».

Advanced Python

Jour 1 — Industrialiser son projet

  • pip + venv VS uv
  • Configurer son projet via pyproject.toml
  • Formatter et linter le code avec ruff
  • Normaliser ses commandes avec poethepoet
  • Ajouter des annotations de type
  • Vérifier le typage avec mypy
  • Ajouter des logs à son programme
  • Définir un point d'entrée, et faire un package
  • Ajouter des tests avec pytest

Jour 2 — Concepts avancés

  • Cycle de vie avec les context managers
  • *args et **kwargs
  • Fonctions lambdas et functools
  • Refactoriser avec des décorateurs
  • Itérateur : le design pattern omniprésent
  • Destructurer ses objets avec l'unpacking
  • Évaluation paresseuse grâce aux générateurs

Jour 3 — Aller plus loin

  • POO avancée : méthodes dunder (méthodes magiques)
  • POO avancée : property
  • POO avancée : metaclasses
  • Threads : utiliser plusieurs fils d'exécution
  • Maximiser l'usage des CPU avec le multiprocessing
  • Requêtes réseau non bloquantes et asyncio
  • Persistance : fichiers JSON, TOML, YAML et XML
  • Persistance : bases de données SQL
  • Persistance : les ORMs

Passez au niveau supérieur en Python !