Chapitre 16 - 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: .. code-block:: console $ 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 .. warning:: Si le contenu de bonjour.py change, il faut *relancer* l'Interpréteur intéractif et refaire l'import.