# Le langage Python

Python est un langage de programmation généraliste, interprété et à typage dynamique, créé par Guido van Rossum et publié en 1991. Sa philosophie repose sur la lisibilité du code et l'expressivité : un programme Python bien écrit se lit presque comme de la prose, et la même intention s'exprime en moins de lignes que dans la plupart des autres langages. Grâce à son écosystème exceptionnel — calcul scientifique avec NumPy et pandas, apprentissage automatique avec PyTorch et scikit-learn, développement web avec Django et FastAPI, automatisation, scripting, prototypage rapide — Python est devenu le langage le plus utilisé au monde. Ce livre s'adresse aussi bien aux débutants qui n'ont jamais programmé qu'aux développeurs confirmés qui souhaitent maîtriser les mécanismes avancés du langage : métaprogrammation, programmation asynchrone, concurrence et idiomes pythoniques.

L'ouvrage progresse des fondations vers les sommets. Les premières parties couvrent l'installation, les types de base, le contrôle de flux, les fonctions et les structures de données. Les parties centrales explorent la programmation orientée objet, les protocoles et les dataclasses. Le cœur du langage est ensuite détaillé : itérateurs, décorateurs, gestionnaires de contexte et exceptions. La quatrième partie aborde le typage statique, les tests et l'organisation du code en modules. Enfin, la cinquième partie plonge dans les sujets les plus avancés : métaprogrammation, programmation fonctionnelle, asynchronisme, concurrence et bonnes pratiques professionnelles.

## Partie I — Fondations

- [Installation et environnement](01_installation.md)
- [Types de base](02_types_base.md)
- [Contrôle de flux](03_controle.md)
- [Fonctions](04_fonctions.md)
- [Structures de données](05_structures_donnees.md)

## Partie II — Orienté objet

- [Classes et objets](06_classes.md)
- [Héritage et polymorphisme](07_heritage.md)
- [Protocoles et interfaces](08_protocoles.md)
- [Dataclasses](09_dataclasses.md)

## Partie III — Le cœur du langage

- [Itérateurs et générateurs](10_iterateurs.md)
- [Décorateurs](11_decorateurs.md)
- [Gestionnaires de contexte](12_contextes.md)
- [Exceptions](13_exceptions.md)

## Partie IV — Typage et qualité

- [Typage statique](14_types.md)
- [Tests](15_tests.md)
- [Modules et packages](16_modules.md)

## Partie V — Avancé

- [Métaprogrammation](17_metaprogrammation.md)
- [Programmation fonctionnelle](18_fonctionnel.md)
- [Programmation asynchrone](19_async.md)
- [Concurrence et parallélisme](20_concurrence.md)
- [Bonnes pratiques et idiomes pythoniques](21_bonnes_pratiques.md)

---

**À propos de ce livre.** Ces notes couvrent Python de ses fondements jusqu'aux mécanismes les plus avancés du langage, en passant par la programmation orientée objet, le typage statique, les tests, la programmation asynchrone et la concurrence. L'approche mêle explications conceptuelles, exemples de code exécutables et visualisations des architectures et des flux de données. La rédaction a été réalisée par Lôc Cosnier avec l'assistance de Claude (Anthropic), un modèle de langage. Le contenu a été relu, structuré et validé par l'auteur ; toute erreur restante lui est imputable.
