Initialisation des systèmes...

Baptiste.Dev
Retour aux notes
LangagesDébutantSérie : Python

Python : Introduction

Ce qui rend Python différent des autres langages : son histoire, sa philosophie, l'indentation comme syntaxe et son exécution monothread.

3 min de lecture
Mis à jour hier
pythonintroductionhistoirephilosophiegilindentation

Python : Introduction

Avant la syntaxe, il faut comprendre ce qu'est Python et pourquoi il ne ressemble pas aux autres langages. Sa priorité affichée depuis le premier jour : la lisibilité. Le reste (indentation obligatoire, typage dynamique, exécution monothread) découle de cette philosophie.


# Un peu d'histoire

Python est né fin 1989 sous les mains de Guido van Rossum, un développeur néerlandais, et sort en 1991. Le nom ne vient pas du serpent mais des Monty Python, dont Guido était fan. Il en restera le « dictateur bienveillant à vie » (BDFL) jusqu'en 2018.

Deux dates comptent :

  • Python 2 (2000) et Python 3 (2008) ont coexisté des années, avec une migration douloureuse (Python 3 casse la compatibilité). Python 2 est officiellement mort en 2020.
  • Dans les années 2010, l'essor de la data science et du machine learning propulse Python au sommet des langages les plus utilisés.

# Ce qui rend Python différent

TraitCe que ça implique
InterprétéPas de compilation en binaire natif avant de lancer : le source est traduit en bytecode au lancement, puis exécuté par l'interpréteur.
Typé dynamiquementLe type d'une variable est déterminé à l'exécution, pas déclaré.
Fortement typéMais pas de conversions implicites hasardeuses : "1" + 2 lève une erreur (contrairement à JavaScript).
Indentation significativeLes blocs sont délimités par l'indentation, pas par des accolades. Unique parmi les langages grand public.
Monothread (le GIL)Un seul thread exécute du code Python à la fois. Un choix structurant, détaillé plus bas.
Multi-paradigmeImpératif, orienté objet, une touche de fonctionnel. On n'est forcé dans aucun moule.
« Batteries included »Une bibliothèque standard énorme : dates, JSON, HTTP, fichiers, regex, tout est déjà là.

Tape import this dans un interpréteur Python : tu verras le « Zen of Python », la charte de conception du langage (« Readability counts », « There should be one obvious way to do it »).


# L'indentation, c'est la syntaxe

Le trait le plus visible. Là où d'autres langages écrivent { }, Python utilise le niveau d'indentation pour délimiter les blocs, et un : pour les ouvrir.

if connecte:
    afficher_tableau_de_bord()
    log("connexion ok")
else:
    rediriger_vers_login()

Conséquence : une indentation incohérente n'est pas une question de style, c'est une erreur de syntaxe. Le code proprement aligné n'est donc pas une bonne pratique optionnelle, c'est une obligation du langage.


# Monothread par nature

Point souvent mal compris : à cause du GIL (Global Interpreter Lock), un seul thread exécute du code Python à la fois. Lancer plusieurs threads n'accélère donc pas un calcul intensif : ils se relaient au lieu de tourner en parallèle.

Ce n'est pas un bug mais un choix de conception (il simplifie la gestion mémoire de l'interpréteur). Il a des conséquences réelles sur la performance, expliquées en détail ici :


# Où on l'utilise

Python n'est pas un langage de niche : il domine plusieurs domaines.

  • Data science et machine learning : NumPy, pandas, PyTorch, scikit-learn. C'est son terrain de prédilection.
  • Scripting et automatisation : la « glu » qui colle des outils entre eux, les scripts d'admin, le DevOps.
  • Web back-end : Django, Flask, FastAPI.
  • Prototypage : de l'idée au code qui tourne en quelques minutes.

# Par où continuer

Les bases du langage, en détail, dans les sous-notes :

Et pour la prise de recul : mon avis (mitigé) sur Python.