Comment travailler avec la console interactive Python

introduction

La console interactive Python (également appelée interpréteur Python ou shell Python) fournit aux programmeurs un moyen rapide d'exécuter des commandes et d'essayer ou de tester du code sans créer de fichier.

Fournissant un accès à toutes les fonctions intégrées de Python et à tous les modules installés, à l’historique des commandes et à l’auto-complétion, la console interactive permet d’explorer Python et de coller du code dans des fichiers de programmation lorsque vous êtes prêt.

Ce didacticiel explique comment utiliser la console interactive Python et en faire un outil de programmation.

Entrer dans la console interactive

La console interactive Python est accessible à partir de n’importe quel ordinateur ou serveur local sur lequel Python est installé.

La commande que vous souhaiterez généralement utiliser pour entrer dans la console interactive Python pour votre version par défaut de Python est la suivante:

python

Si vous avez configuré unprogramming environment, vous pouvez lancer l'environnement et accéder à la version de Python et aux modules que vous avez installés dans cet environnement en entrant d'abord dans cet environnement:

cd environments
. my_env/bin/activate

Puis en tapant la commandepython:

python

Dans ce cas, la version par défaut de Python est Python 3.5.2. Elle est affichée dans le résultat une fois que nous avons entré la commande, avec l'avis de copyright correspondant et certaines commandes que vous pouvez taper pour obtenir des informations supplémentaires:

OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

L'invite principale pour la commande suivante est composée de trois signes supérieur à (>>>):

Vous pouvez cibler des versions spécifiques de Python en ajoutant le numéro de version à votre commande, sans espaces:

python2.7
OutputPython 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ici, nous avons reçu le résultat indiquant que Python 2.7.12 sera utilisé. S'il s'agit de notre version par défaut de Python 2, nous aurions pu également entrer dans cette console interactive avec la commandepython2.

Alternativement, nous pouvons appeler la version par défaut de Python 3 avec la commande suivante:

python3
OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Nous aurions pu également appeler la console interactive ci-dessus avec la commandepython3.5.

Avec la console interactive Python en cours d'exécution, nous pouvons passer à l'utilisation de l'environnement shell pour Python.

Travailler avec la console interactive Python

L'interpréteur interactif Python accepte la syntaxe Python, que vous placez après le préfixe>>>.

On peut, par exemple, attribuer des valeurs àvariables:

birth_year = 1868

Une fois que nous avons attribué la valeur entière de1868 à la variablebirth_year, nous appuierons sur retour et recevrons une nouvelle ligne avec les trois signes supérieur à comme préfixe:

birth_year = 1868

Nous pouvons continuer à assigner des variables puisperform math with operators pour obtenir des calculs retournés:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>

Comme nous le ferions avec un script dans un fichier, nous avons affecté des variables, soustrait une variable de l’autre et demandé à la console d’imprimer la variable qui représente la différence.

Comme dans n'importe quelle forme de Python, vous pouvez également utiliser la console interactive comme calculatrice:

>>> 203 / 20
10.15
>>>

Ici, nous avons divisé l'entier203 par20 et avons obtenu le quotient de10.15.

Lignes multiples

Lorsque nous écrivons du code Python, il couvrira plusieurs lignes, l'interpréteur utilisera l'invite secondaire pour les lignes de continuation, trois points (...).

Pour sortir de ces lignes de continuation, vous devrez appuyer deux fois surENTER.

Nous pouvons voir à quoi cela ressemble dans le code suivant qui affecte deux variables, puis utilise unconditional statement pour déterminer ce qu'il faut imprimer sur la console:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
...
Sammy codes in Python.
>>>

Dans ce cas, les longueurs des deuxstrings sont égales, donc l'instructionelse s'imprime.
Notez que vous devrez conserver la convention d'indentation Python de quatre espaces, sinon vous recevrez un Erreur:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>>

Vous pouvez non seulement expérimenter avec du code sur plusieurs lignes dans la console Python, mais également importer des modules.

Importation de modules

L'interpréteur Python vous permet de vérifier rapidement si des modules sont disponibles dans un environnement de programmation spécifique. Vous pouvez le faire en utilisant l'instructionimport:

>>> import matplotlib
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named 'matplotlib'

Dans le cas ci-dessus, le modulematplotlib n'était pas disponible dans l'environnement de programmation actuel.

Pour l’installer, nous devons quitter l’interprète interactif et installer avec pip comme d’habitude:

pip install matplotlib
OutputCollecting matplotlib
  Downloading matplotlib-2.0.2-cp35-cp35m-manylinux1_x86_64.whl (14.6MB)
...
Installing collected packages: pyparsing, cycler, python-dateutil, numpy, pytz, matplotlib
Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2

Une fois que le module matplotlib et ses dépendances ont été installés avec succès, vous pouvez revenir dans l'interpréteur interactif:

python
import matplotlib

À ce stade, vous ne recevrez aucun message d'erreur et pourrez utiliser le module installé dans le shell ou dans un fichier.

Quitter la console interactive Python

Il existe deux manières principales de quitter la console interactive Python, avec un raccourci clavier ou une fonction Python.

Le raccourci clavierCTRL +D dans les systèmes * nix ouCTRL +Z puis la toucheCTRL dans les systèmes Windows interrompra votre console et vous renverra à votre environnement terminal d'origine:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
sammy@ubuntu:~/environments$

Alternativement, la fonction Pythonquit() quittera la console interactive et vous ramènera également à l'environnement de terminal d'origine dans lequel vous étiez auparavant:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$

Lorsque vous utilisez la fonctionquit(), elle apparaîtra dans votre fichier d'historique, mais le raccourci clavierCTRL +D ne sera pas enregistré:

Fichier: /home/sammy/.python_history

...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Vous pouvez quitter l'interpréteur Python de deux manières, selon ce qui convient à votre flux de travail et à vos besoins en matière d'historique.

Accéder à l'histoire

L'une des choses utiles à propos de la console interactive Python est que toutes vos commandes sont enregistrées dans le fichier.python_history dans les systèmes * nix, que vous pouvez consulter dans un éditeur de texte comme nano, par exemple:

nano ~/.python_history

Une fois ouvert avec un éditeur de texte, votre fichier d’historique Python ressemblera à ceci, avec votre propre historique de commandes Python:

Fichier: /home/sammy/.python_history

import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Une fois que vous avez terminé avec votre fichier, vous pouvez appuyer surCTRL +X pour quitter nano.

En gardant une trace de tout votre historique Python, vous pouvez revenir aux commandes et expériences précédentes, et copier et coller ou modifier ce code pour une utilisation dans des fichiers de programmation Python ou dans unJupyter Notebook.

Conclusion

La console interactive Python fournit un espace pour expérimenter le code Python. Vous pouvez l'utiliser comme outil de test, de logique, etc.

Pour une utilisation avec le débogage des fichiers de programmation Python, vous pouvez utiliser le module Pythoncode pour ouvrir un interpréteur interactif dans un fichier, que vous pouvez lire dans notre guideHow To Debug Python with an Interactive Console.