Conçu à Noël 1989 par Guido van Rossum pour être lisible, Python est devenu le langage le plus utilisé au monde : enseignement, science des données, intelligence artificielle, automatisation, sites web. Cinq planches pour comprendre ses idées, ses pièges et ses usages, jusqu'à un petit Python qui tourne dans cette page et dont chaque exemple a été vérifié contre le vrai Python 3.13.
Pendant les vacances de Noël 1989, au centre de recherche CWI d'Amsterdam, Guido van Rossum commence un langage de script inspiré d'ABC, un langage d'enseignement auquel il avait participé. Il le baptise Python en hommage à la troupe comique britannique des Monty Python. La première version est publiée en février 1991. Son principe directeur : un programme est lu bien plus souvent qu'il n'est écrit, il doit donc être clair. En 1999, Tim Peters résume cette philosophie en dix-neuf aphorismes, le « Zen de Python », que l'on affiche en tapant import this. En octobre 2026, Python est en tête de l'indice TIOBE de popularité des langages, devant C, C++, Java et C#.
En C, en Java ou en PHP, des accolades { } délimitent les blocs, et le décalage des lignes n'est qu'une politesse envers le lecteur. En Python, c'est le décalage lui-même qui définit les blocs : il n'y a pas d'accolades, et un programme mal indenté est un programme faux. Pour cela, l'analyseur de Python tient une pile des indentations : quand une ligne est plus décalée que la précédente, il produit un jeton INDENT (« un bloc s'ouvre ») ; quand elle revient en arrière, un jeton DEDENT par niveau quitté.
tokenize du vrai Python. Le décalage visuel et la structure logique ne peuvent donc jamais se contredire, alors qu'en C on peut aligner une ligne sous un if sans qu'elle en fasse partie, une source d'erreurs célèbres. La convention, fixée par le guide de style PEP 8 (2001), est de décaler chaque niveau de quatre espaces.En Python, une variable n'est pas une boîte qui contient une valeur : c'est un nom collé sur un objet. L'instruction b = a ne copie rien ; elle colle une deuxième étiquette sur le même objet. Certains objets sont modifiables (listes, dictionnaires), d'autres ne le sont pas (nombres, chaînes, tuples) : « modifier » un entier fabrique en réalité un nouvel objet. Suivez les trois scénarios pas à pas.
a is b demande « est-ce le même objet ? », a == b « ont-ils la même valeur ? ». Après b = a, modifier la liste par b se voit aussi par a ; pour une vraie copie il faut a[:] ou list(a). Avec un entier, y += 1 ne touche pas l'objet 5 : il fabrique l'objet 6 et y recolle l'étiquette y. Le scénario 3 est un piège célèbre : [ligne] * 3 répète trois fois la même ligne, et modifier une case les modifie toutes ; la compréhension de liste, elle, crée trois lignes distinctes.Python est devenu le langage de l'analyse des données grâce à sa bibliothèque standard (module statistics) et surtout à NumPy (2006) et pandas (2008). Voici les tailles et pointures de 60 élèves fictifs, tirées au hasard par Python. On calcule les indicateurs habituels, puis la droite de régression qui prédit la pointure à partir de la taille. Ajoutez une valeur aberrante pour voir quels indicateurs résistent.
statistics de Python 3.13, exécuté au moment de la fabrication de cette page. Avec pandas, les mêmes calculs portent sur des millions de lignes en une seule instruction, ce qui a fait de Python l'outil de base des statisticiens, des biologistes et des économistes.Presque toute l'intelligence artificielle actuelle s'écrit en Python, avec scikit-learn (2007), TensorFlow (2015) ou PyTorch (2016). Le principe de l'apprentissage se voit déjà sur le plus petit des modèles, la régression logistique : une frontière droite sépare deux familles de points. Le modèle part d'une frontière quelconque, mesure son erreur (la perte), puis déplace ses trois paramètres un petit peu dans le sens qui la diminue : c'est la descente de gradient, répétée à chaque « époque ».
Cette page contient un interpréteur Python écrit en JavaScript : il découpe votre programme en jetons (avec INDENT et DEDENT, planche 1), construit l'arbre syntaxique et l'exécute en suivant les règles de Python 3 : entiers de taille illimitée, flottants affichés comme Python, chaînes, listes, tuples, dictionnaires et ensembles, compréhensions, fonctions et fonctions anonymes, exceptions, f-strings et module math. Chaque exemple a été exécuté par le vrai Python 3.13 au moment de la fabrication de la page ; sa sortie est comparée en direct, caractère par caractère.
round(2.5) vaut 2 (on arrondit au pair pour ne pas biaiser les sommes), -7 // 2 vaut −4, et une liste par défaut est partagée d'un appel à l'autre. Le vrai Python, CPython, est lui-même écrit en C : il compile votre programme en instructions pour une machine virtuelle, puis les exécute ; depuis la version 3.13 (2024), il peut aussi, à titre expérimental, compiler à la volée (JIT) et fonctionner sans le « verrou global » qui l'empêchait d'utiliser plusieurs cœurs à la fois. L'interpréteur de cette page ne connaît ni les classes ni les modules autres que math.Sa syntaxe épurée en fait le premier langage de très nombreux élèves et étudiants ; en France, c'est le langage de la spécialité NSI du lycée, créée en 2019, et des algorithmes du programme de mathématiques.
NumPy, SciPy, pandas et Matplotlib forment la boîte à outils des scientifiques ; les carnets Jupyter mêlent code, graphiques et texte pour partager une analyse.
scikit-learn, TensorFlow et PyTorch : l'essentiel de la recherche et de l'industrie de l'intelligence artificielle, y compris l'entraînement des grands modèles de langage, se pilote en Python.
Scripts d'administration, traitement de fichiers, sites web avec Django (2005) ou Flask (2010), robots, cartes électroniques avec MicroPython : Python sert de « langage colle » entre les outils.
L'interpréteur de cette page est une imitation pédagogique : il reproduit les règles de calcul et d'affichage de Python 3 sur un large sous-ensemble du langage, et les exemples, les données des planches 3 et 4 et les comptes de jetons de la planche 1 ont été produits ou vérifiés par Python 3.13 au moment de la fabrication de la page.