Cours
Contrairement aux langages compilés comme C++ ou Java, qui doivent être traduits en code machine avant exécution, Python est interprété et exécute directement les instructions. Le REPL s’impose donc comme un terrain d’expérimentation idéal, que vous testiez des extraits de code, exploriez de nouveaux concepts ou déboguiez ligne par ligne. Son atout : il est intégré à toute installation de Python et prêt à l’emploi dès que vous l’êtes.
Dans ce tutoriel, je vous montre comment utiliser l’environnement REPL de Python au travers d’exemples, ses fonctionnalités, ainsi que des REPL alternatifs pour améliorer votre flux de travail. Si vous débutez en Python, je recommande de suivre notre cours Introduction to Python, qui couvre des compétences comme les types de données, les listes, les fonctions de base et les packages.
Qu’est-ce qu’un REPL Python ?
REPL signifie Read-Eval-Print Loop, ce qui décrit ses quatre étapes fondamentales :
- Read : le REPL lit la saisie de l’utilisateur, qu’il s’agisse d’une seule ligne de code ou d’une instruction multi‑ligne.
- Evaluate : il évalue le code, exécute l’instruction ou l’expression et calcule son résultat.
- Print : la sortie de l’évaluation est affichée dans la console. Si le code ne produit pas de sortie (par exemple une affectation), rien n’est imprimé.
- Loop : le REPL revient au début, prêt pour la prochaine saisie.
Ces étapes s’enchaînent en continu pour créer un environnement interactif où vous tapez du code et voyez immédiatement le résultat. Le REPL Python affiche une invite principale >>> pour les nouvelles instructions et une invite secondaire ... pour les lignes de continuation, par exemple dans une boucle ou une définition de fonction. À l’aide d’exemples ci‑dessous, nous verrons comment ces invites fonctionnent.
Les termes « shell interactif », « session d’interpréteur » et « REPL » sont souvent utilisés indifféremment pour décrire cet environnement.
Pourquoi utiliser un REPL Python
Vous pouvez utiliser un REPL Python pour :
Tester rapidement des extraits de code et des fonctions de bibliothèques : vous pouvez essayer de petites portions de code instantanément sans créer de script.
>>> import math
>>> math.sqrt(16)
4.0
Explorer la syntaxe et expérimenter des idées : considérez le REPL comme votre bac à sable personnel. Vous pouvez tester de nouveaux éléments — types de données, opérateurs, structures de contrôle — pour comprendre précisément leur comportement, sans risque pour un programme plus vaste.
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
Déboguer et inspecter des variables : utilisez le REPL pour vérifier pas à pas les valeurs et états de vos variables, ce qui facilite grandement la compréhension et la résolution de problèmes.
>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0
L’utiliser comme calculatrice ou outil d’apprentissage : son retour immédiat est pratique pour effectuer des calculs ou apprendre les bases de Python.
>>> 10 * (5 + 2)
70
Démarrer et quitter une session REPL
Pour démarrer une session REPL Python, ouvrez votre terminal ou Invite de commandes. Saisissez ensuite python ou python3 et appuyez sur Entrée. Cela lance le shell interactif.
Vous pouvez également démarrer une session interactive après l’exécution d’un script en utilisant l’option -i. Par exemple, python -i calc_tax.py exécutera calc_tax.py puis vous basculera dans le REPL avec les variables du script toujours en mémoire.
Pour quitter le REPL, vous pouvez utiliser l’une des commandes suivantes :
-
Tapez
quit()ouexit()puis appuyez sur Entrée. -
Sous Unix/Linux/macOS, appuyez sur Ctrl+D.
-
Sous Windows, appuyez sur Ctrl+Z puis sur Entrée.
Exécuter du code dans le REPL
Vous pouvez exécuter du code dans le REPL Python de différentes manières selon sa complexité. Voyons les types de code que vous pouvez exécuter dans le REPL.
Instructions et expressions simples
Le REPL évalue instantanément les expressions et instructions simples. Par exemple, vous pouvez effectuer des opérations arithmétiques, affecter des variables et évaluer des expressions booléennes. Le résultat d’une expression est imprimé automatiquement.
>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
TrueSi une instruction, comme une affectation de variable, ne produit pas de sortie, l’interpréteur REPL n’affiche rien. En cas d’erreur, le REPL vous le signale immédiatement en levant une exception.
Instructions composées
Le REPL Python gère aussi les instructions multi‑lignes telles que les instructions if et les boucles for. Après une ligne se terminant par deux‑points (:) et la touche Entrée, il bascule automatiquement vers l’invite secondaire (...) pour indiquer qu’il attend le bloc de code indenté.
Notez que vous devez indenter votre code manuellement ; le REPL ne fait pas d’indentation automatique. Pour signaler la fin de l’instruction composée, appuyez sur Entrée sur une ligne vide.
Retours à la ligne explicites et implicites
Vous pouvez également écrire des instructions multi‑lignes dans le REPL Python grâce aux retours à la ligne. Un retour à la ligne explicite utilise une barre oblique inverse \ en fin de ligne pour indiquer que l’instruction continue à la ligne suivante.
Les retours à la ligne implicites se produisent automatiquement lorsque le code est entouré de parenthèses (), de crochets [] ou d’accolades {}.
Imprimer vs évaluer
L’auto‑affichage du REPL ne fonctionne que pour les expressions qui renvoient une valeur. Par exemple, si vous avez une liste et que vous y ajoutez un élément avec temp.append(45), aucune sortie ne sera produite. Pour voir la nouvelle liste, vous devez évaluer explicitement la variable de liste à la ligne suivante. Pour les fonctions qui renvoient None, vous devez utiliser print() pour afficher leur sortie.
Fonctionnalités utiles du REPL
Le REPL Python intègre plusieurs fonctionnalités qui le rendent plus productif et pédagogique. Voici celles que je trouve particulièrement utiles.
Variable spéciale _
Le caractère de soulignement (_) est une variable spéciale dans le REPL qui stocke le résultat de la dernière expression évaluée. Pratique pour réutiliser un résultat sans le retaper.
Dans l’exemple ci‑dessous, _ conserve la valeur 30, issue de l’expression 6*5.
Outils d’introspection
Python fournit plusieurs fonctions intégrées pour explorer de manière interactive les objets et votre environnement. Le tableau ci‑dessous résume l’usage de chaque fonction avec des exemples.
|
Outil |
Objectif |
Exemple |
|
|
Retourne la liste de tous les noms (attributs et méthodes) dans la portée locale actuelle ou d’un objet spécifié. |
|
|
|
Lance l’aide intégrée pour un objet, module ou fonction, en affichant sa documentation (docstrings). |
|
|
|
Retourne l’attribut |
|
|
|
Retourne un dictionnaire représentant la table des symboles locale actuelle (variables dans la portée courante). |
|
|
|
Retourne un dictionnaire représentant la table des symboles globale (variables accessibles partout). |
|
Historique du code et complétion par tabulation
Le REPL accélère la saisie grâce aux fonctionnalités suivantes :
- Historique : naviguez dans les commandes précédentes avec les flèches Haut et Bas pour relancer, modifier ou corriger rapidement des lignes passées.
- Complétion par Tab : complète les noms de variables, de modules et les attributs d’objets. Par exemple, taper
imporpuis Tab compléteraimport, ou taperstr..puis Tab listera les méthodes des chaînes.
Raccourcis clavier
Voici quelques raccourcis fréquents pour naviguer plus efficacement dans le REPL.
|
Raccourci |
Action |
|
Ctrl+C |
Interrompt la commande en cours (par ex. une boucle longue) et lève un |
|
Ctrl+D (Unix) |
Quitter le REPL (équivalent à |
|
Ctrl+Z + Entrée (Win) |
Quitter le REPL |
|
Ctrl+L |
Efface l’écran (comme la commande |
|
Flèches Haut / Bas |
Parcourir l’historique des commandes |
|
Ctrl+A |
Aller au début de la ligne |
|
Ctrl+E |
Aller à la fin de la ligne |
|
Ctrl+K |
Supprimer du curseur à la fin de la ligne |
|
Ctrl+U |
Supprimer du curseur au début de la ligne |
Personnaliser le REPL
Le REPL Python standard peut être adapté à votre façon de travailler et à vos préférences.
Fichier de démarrage
Définissez la variable d’environnement PYTHONSTARTUP vers le chemin d’un script Python exécuté automatiquement au lancement du REPL. Ce script peut pré‑importer des modules courants, définir des fonctions ou modifier les invites.
Par exemple, créez un fichier ~/.pystartup avec le contenu suivant :
import sys, os, math, random
print("Custom REPL ready. Pre-imported: sys, os, math, random")
# Change the prompt strings
import sys
sys.ps1 = ">>> "
sys.ps2 = "... "
Sous Windows, vous pouvez définir la variable d’environnement avec la commande suivante :
setx PYTHONSTARTUP "C:\path\to\pystartup.py"
Sorties enrichies avec rich
Vous pouvez utiliser la bibliothèque rich pour améliorer et colorer les sorties dans le REPL. Installez d’abord le module rich via pip.
pip install rich
Activez ensuite rich par un import et utilisez‑le dans vos sessions REPL Python. Dans l’exemple ci‑dessous, j’utilise la bibliothèque pour afficher des mots avec différentes couleurs.

Exemples de commandes REPL à essayer
Comme vous le voyez, le REPL Python est simple à utiliser. Essayez les commandes suivantes pour vous exercer
|
Commande |
Objectif |
Sortie/Description |
|
|
Introspection : afficher toutes les méthodes et attributs disponibles sur le type intégré |
|
|
|
Documentation : afficher la docstring de la méthode append des listes et son fonctionnement. |
Une description détaillée de ce que fait |
|
|
Importer un module : charger la bibliothèque standard |
Aucune sortie (mais le module est disponible). |
|
|
Calcul : obtenir la valeur de π. |
|
|
|
Calcul : calculer sin(π/2). |
|
|
|
Test rapide : sélectionner un élément aléatoire d’une liste. |
|
|
|
Gestion d’erreur/Sortie : démarrer une boucle infinie, puis appuyer sur Ctrl+C pour l’interrompre. |
|
Limites du REPL standard
Si le REPL standard de Python est parfait pour les tâches rapides, il paraît souvent limité face à un IDE moderne. Vous remarquerez vite l’absence de quelques fonctionnalités, notamment :
- Pas de coloration syntaxique : tout le code apparaît en texte brut, ce qui complique l’identification visuelle rapide des mots‑clés, chaînes et commentaires.
- Indentation automatique minimale : bien qu’il gère l’invite de continuation (
...), vous devez saisir manuellement la bonne indentation pour les blocsifetfor. - Complétion basique : la complétion par tabulation est utile mais n’offre pas les suggestions contextuelles, la documentation intégrée ou la recherche approximative des shells avancés.
- Édition multi‑ligne limitée : modifier des blocs de code complexes sur plusieurs lignes est fastidieux.
- Une fois un bloc soumis, il est difficile de l’éditer ou de le rappeler depuis l’historique.
REPL alternatifs
Pour dépasser ces limites de l’interpréteur standard, plusieurs REPL et environnements enrichis, basés sur le modèle interactif de Python, offrent des fonctionnalités supplémentaires qui améliorent la productivité et l’apprentissage. Je vous recommande d’en essayer quelques‑uns pour trouver celui qui vous convient.
- IDLE : un environnement Python simple avec interface graphique, fourni avec Python. Il propose la coloration syntaxique, un éditeur intégré et un débogueur, idéal pour débuter.
- IPython : un REPL puissant avec auto‑complétion avancée, coloration, commandes « magic » (précédées de %), historique étendu et accès aisé aux commandes du shell. Très utilisé en data science et calcul scientifique.
- bpython : REPL en terminal avec coloration inline, auto‑suggestions et accès rapide à la documentation. Léger mais nettement plus ergonomique que le REPL par défaut.
- ptpython : destiné aux utilisateurs avancés, ce REPL propose une vraie édition multi‑ligne, une coloration robuste et même le support de la souris pour un contrôle accru dans le terminal.
- REPL en ligne : des environnements dans le navigateur comme le shell interactif de Python.org et le Python Morsels REPL sont parfaits pour des tests rapides, partager du code ou pratiquer en mobilité.
Conclusion
Le REPL Python offre un environnement interactif et rapide pour expérimenter, ce qui en fait un outil précieux pour tester, apprendre et explorer des idées. Maîtriser ses fonctionnalités intégrées vous donne un levier puissant pour les tâches quotidiennes de programmation. Pour des workflows plus complexes ou une ergonomie renforcée, explorer des REPL avancés peut encore améliorer l’expérience de codage interactif.
Pour approfondir Python, découvrez nos parcours de compétences Python Data Fundamentals et Python Programming Fundamentals. Le Python Cheat Sheet for Beginners est également utile pour, par exemple, revoir rapidement comment scinder une liste en Python.
FAQs
Comment démarrer le REPL Python ?
Ouvrez votre terminal et tapez python ou python3, selon votre système.
Comment quitter le REPL ?
Tapez quit() ou exit(), ou utilisez Ctrl+D sous Unix, ou Ctrl+Z + Entrée sous Windows.
Quelle est la différence entre le REPL et l’exécution d’un script ?
Le REPL exécute le code de manière interactive, ligne par ligne, tandis qu’un script exécute tout le code d’un fichier en une fois.
Qu’est-ce que la variable _ dans le REPL ?
_ contient le résultat de la dernière expression évaluée pour pouvoir le réutiliser rapidement.
Que signifient les invites >>> et ... ?
>>> est l’invite principale, tandis que ... est l’invite secondaire pour la saisie multi‑ligne.
