2  Python : un langage, de multiples usages

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.
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}")
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:
        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))
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).

def formater(valeur: int | float | str) -> str:
    return f"{valeur}"

print(formater(42))
print(formater(3.14))
print(formater("bonjour"))
42
3.14
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).

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 ?

  1. Linus Torvalds
  2. Guido van Rossum
  3. Dennis Ritchie
  4. Larry Wall

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 ?

  1. print(zen)
  2. import zen
  3. import this
  4. python --zen

c) import this — un easter egg intégré à l’interpréteur.

Question 3

Quelle affirmation est VRAIE à propos de Python ?

  1. Python est un langage compilé.
  2. Il faut obligatoirement déclarer le type des variables.
  3. L’indentation est obligatoire pour structurer le code.
  4. Python ne fonctionne que sous Linux.

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 ?

  1. Django
  2. Pygame
  3. Pandas
  4. Flask

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 ?

  1. switch / case
  2. match / case
  3. if / elif
  4. try / except

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.