Prépa Python

Préambule — chapitre 2 sur 54

Python : un langage, de multiples usages

Histoire, philosophie et domaines d'application

20 min5 évaluations

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 :

python
import this

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.

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é :

python
# 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é) :

python
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).

python
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.


Exercices

quiz 00.02.q1réponse unique
Qui a créé le langage Python ?
quiz 00.02.q2réponse unique
Quelle commande permet d'afficher le Zen de Python ?
quiz 00.02.q3réponse unique
Quelle affirmation est VRAIE à propos de Python ?
quiz 00.02.q4réponse unique
Laquelle de ces bibliothèques est principalement utilisée en Data Science ?
quiz 00.02.q5réponse unique
Quelle nouveauté Python 3.10 permet de faire du pattern matching ?