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