Avant de plonger dans la syntaxe, faisons un tour d'horizon du langage : d'où vient-il, pourquoi est-il si populaire, et où l'utilise-t-on vraiment ?
Histoire et philosophie
Python a été créé en 1989 par Guido van Rossum, alors chercheur au CWI (Centre for Mathematics and Computer Science) aux Pays-Bas. Le nom n'a rien à voir avec le serpent : il est inspiré de la série humoristique britannique Monty Python's Flying Circus.
La version 1.0 est sortie en 1994. Python 2 a été très utilisé entre 2000 et 2020, mais il n'est plus maintenu depuis le 1er janvier 2020. Aujourd'hui, seul Python 3 est utilisé.
Le Zen de Python
La philosophie du langage tient en quelques principes, accessibles en tapant la commande suivante dans un interpréteur :
import thisParmi les principes les plus connus :
- « Beautiful is better than ugly » — Le beau vaut mieux que le laid.
- « Explicit is better than implicit » — L'explicite vaut mieux que l'implicite.
- « Simple is better than complex » — Le simple vaut mieux que le complexe.
- « Readability counts » — La lisibilité compte.
Pourquoi Python est-il si populaire ?
| Avantage | Explication |
|---|---|
| Syntaxe lisible | Le code Python ressemble presque à du pseudo-code. L'indentation est obligatoire, ce qui force la lisibilité. |
| Langage interprété | Pas besoin de compilation : on écrit, on exécute, on voit le résultat immédiatement. |
| Typage dynamique | Pas besoin de déclarer le type d'une variable : Python le devine. |
| Multi-paradigmes | Procédural, orienté objet, fonctionnel : vous choisissez votre style. |
| Écosystème riche | Des milliers de bibliothèques gratuites (PyPI : ~500 000 packages). |
| Communauté énorme | Documentation abondante, réponses faciles à trouver. |
| Multi-plateforme | Un même code fonctionne sous Windows, macOS, Linux. |
Un exemple concret de la lisibilité :
# On peut lire ce code presque comme de l'anglais
nombres = [12, 5, 8, 21, 3, 17]
pairs = [n for n in nombres if n % 2 == 0]
print(f"Parmi {nombres}, les nombres pairs sont : {pairs}")Les nouveautés de Python 3.10 à connaître
Python 3.10 (sortie en octobre 2021) a apporté plusieurs améliorations notables, dont certaines sont évaluées au TOSA :
Messages d'erreur améliorés
Les SyntaxError sont devenues beaucoup plus explicites : Python indique précisément ce qu'il attendait, pointe le bon endroit, et suggère souvent la correction.
Pattern matching avec match / case
Une nouvelle structure de contrôle, proche du switch d'autres langages mais bien plus puissante (ce sera vu au niveau Avancé) :
def decrire_statut(code):
match code:
case 200:
return "OK"
case 404:
return "Page non trouvée"
case 500 | 502 | 503:
return "Erreur serveur"
case _:
return "Code inconnu"
print(decrire_statut(200))
print(decrire_statut(503))
print(decrire_statut(418))Union de types avec |
Plus besoin de Union[int, str] de typing : on écrit directement int | str. Syntaxe utile dans les annotations de type (niveau Expert).
def formater(valeur: int | float | str) -> str:
return f"{valeur}"
print(formater(42))
print(formater(3.14))
print(formater("bonjour"))Parenthèses dans with
On peut maintenant grouper plusieurs gestionnaires de contexte avec des parenthèses (utile quand on ouvre plusieurs fichiers en même temps).
Les grands domaines d'application
Data Science et Machine Learning
C'est le domaine de prédilection de Python aujourd'hui. Les bibliothèques NumPy, Pandas, Scikit-learn, TensorFlow ou PyTorch ont fait de Python le langage n° 1 de l'intelligence artificielle.
Développement web (back-end)
Des frameworks comme Django (utilisé par Instagram, Pinterest) ou Flask permettent de créer des applications web complètes côté serveur.
Automatisation et scripting
Python excelle pour automatiser des tâches répétitives : renommer des fichiers en masse, envoyer des mails, extraire des données de sites web (web scraping), piloter un navigateur...
Calcul scientifique
SciPy, Matplotlib, SymPy en font un outil privilégié des physiciens, biologistes, économistes, astronomes.
Développement de jeux et d'applications
Pygame pour les jeux 2D, Tkinter ou PyQt pour les interfaces graphiques de bureau.
Éducation
Python est aujourd'hui enseigné dès le lycée en France (spécialité NSI) et dans la majorité des universités du monde.