L’interpréteur interactif

Démarrage

Jusqu’ici, on a toujours lancé la commande Python avec python suivi du nom d’un fichier source.

Il est égalemnet possible de lancer la commande python3 sans argument.

Dans ce cas, on se retrouve avec une autre invite de commandes:

$ python3
Python 3.7.1 (default, Oct 22 2018, 10:41:28)
[GCC 8.2.1 20180831] on linux
Type "help", "credits" or "license" for more information.
>>>

Deux invites de commandes

Notez les trois chevrons: >>>. Cela vous permet de différencier l’invite de commandes du système d’exploitation de celle de Python.

  • Système d’exploitation -> Python: taper python3 (sans arguments)

  • Python -> Système d’exploitation: taper quit()

Fonctionnement de l’interpréteur

L’interpréteur fonctionne dans une boucle:

  1. Lire le code qui a été tapé (soit une ligne, soit une succession de blocs)

  2. Évaluation du code qui a été entré

  3. Affichage de la valeur le cas échéant

  4. Retour au début

(En anglais, on dit « REPL » - read/eval/print/loop)

Example d’une session interactive:

>>> a = 42
>>> a
42
>>> b = 4
>>> a + b
46

Notez que si la variable est None, l’interpréteur n’affiche rien:

>>> def ne_fait_rien():
        pass
>>> résultat = ne_fait_rien()
>>> résultat
>>> résultat is None
True

Interpréteur interactif et imports

Recréons un fichier bonjour.py contenant:

# dans bonjour.py
salutation = "Bonjour,"
def dire_bonjour(nom):
     print(salutation, nom)

On peut démarrer un interpréteur interactif dans le répertoire contenant le fichier bonjour`.py, et « jouer » avec les attributs du module bonjour:

>>> import bonjour
>>> bonjour.dire_bonjour("Bob")
Bonjour, Bob
>>> bonjour.salutation = "Hello,"
>>> bonjour.dire_bonjour("Bob")
Hello, Bob

Avertissement

Si le contenu de bonjour.py change, il faut relancer l’Interpréteur intéractif et refaire l’import.