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 ?
2.1 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é.
Version évaluée par le TOSA
La certification TOSA évalue Python 3.10. C’est la version de référence pour tout ce support. Installez cette version (ou une version supérieure compatible) pour vos entraînements.
Le Zen de Python
La philosophie du langage tient en quelques principes, accessibles en tapant la commande suivante dans un interpréteur :
import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Parmi 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.
2.2 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.
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'anglaisnombres = [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}")
Parmi [12, 5, 8, 21, 3, 17], les nombres pairs sont : [12, 8]
2.3 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:case200:return"OK"case404:return"Page non trouvée"case500|502|503:return"Erreur serveur"case _:return"Code inconnu"print(decrire_statut(200))print(decrire_statut(503))print(decrire_statut(418))
OK
Erreur serveur
Code inconnu
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).
On peut maintenant grouper plusieurs gestionnaires de contexte avec des parenthèses (utile quand on ouvre plusieurs fichiers en même temps).
2.4 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.
Le saviez-vous ?
Python est utilisé par la NASA pour le traitement des données spatiales, par Netflix pour ses recommandations, par Spotify pour l’analyse musicale, par YouTube pour son back-end… Un excellent choix professionnel !
🧩 Quiz 0.2 — Panorama Python
Question 1
Qui a créé le langage Python ?
Linus Torvalds
Guido van Rossum
Dennis Ritchie
Larry Wall
🔍 Réponse
b) Guido van Rossum — Python est né en 1989 de ses travaux au CWI.
Question 2
Quelle commande permet d’afficher le Zen de Python ?
print(zen)
import zen
import this
python --zen
🔍 Réponse
c) import this — un easter egg intégré à l’interpréteur.
Question 3
Quelle affirmation est VRAIE à propos de Python ?
Python est un langage compilé.
Il faut obligatoirement déclarer le type des variables.
L’indentation est obligatoire pour structurer le code.
Python ne fonctionne que sous Linux.
🔍 Réponse
c) L’indentation est obligatoire — Python est interprété (pas compilé), à typage dynamique, et multi-plateforme.
Question 4
Laquelle de ces bibliothèques est principalement utilisée en Data Science ?
Django
Pygame
Pandas
Flask
🔍 Réponse
c) Pandas — Django et Flask sont pour le web, Pygame pour les jeux.
Question 5
Quelle nouveauté Python 3.10 permet de faire du pattern matching ?
switch / case
match / case
if / elif
try / except
🔍 Réponse
b) match / case — introduit en Python 3.10 (PEP 634), c’est plus qu’un simple switch car il permet aussi de déconstruire des structures.