2. Mode d’emploi de l’interpréteur Python

2.1. Lancement de l’interpréteur

L’interpréteur Python est habituellement installé en temps que /usr/local/bin/python3.5 sur les machines où c’est possible. Ajouter /usr/local/bin dans votre PATH rend possible de le démarrer en tapant la commande:

python3.5

dans le shell. [1] Le choix du répertoire où se trouve l’interpréteur étant une option d’installation, d’autres chemins sont possibles ; voyez avec votre gourou Python local ou votre administrateur système (par exemple, /usr/local/python est un endroit courant).

Sur les machines Windows, l’installation de Python se situe souvent dans C:\Python35, cependant, il est possible de changer ça à l’installation. Pour ajouter ce dossier à votre PATH, vous pouvez copier cette commande dans un interpréteur DOS

set path=%path%;C:\python35

Tapez un caractère de fin de fichier (Ctrl-D sous Unix, Ctrl-Z sous Windows) dans une invite de commande primaire provoque la fermeture de l’interpréteur avec un code de sortie nul. Si cela ne fonctionne pas, vous pouvez fermer l’interpréteur en tapant la commande quit().

Les fonctionnalités d’édition de l’interpréteur comprennent l’édition interactive, la substitution depuis l’historique et la complétion sur les systèmes qui gèrent readline. Un moyen rapide de tester comment est gérée l’édition de la ligne de commande, c’est de taper Control-P à la première invite de commande que vous rencontrez. Si cela bipe, vous disposez de l’édition de la ligne de commande ; lisez l’appendice Édition interactive des entrées et substitution d’historique pour une introduction aux touches. Si rien ne semble se produire ou si ^P s’affiche, l’édition de la ligne de commande n’est pas disponible ; vous serez seulement en mesure d’utiliser la touche retour arrière pour supprimer des caractères de la ligne courante.

L’interpréteur fonctionne de façon similaire au shell Unix : lorsqu’il est appelé avec l’entrée standard connectée à un périphérique tty, il lit et exécute les commandes de façon interactive ; lorsqu’il est appelé avec un nom de fichier en argument ou avec un fichier comme entrée standard, il lit et exécute un script depuis ce fichier.

Une autre façon de lancer l’interpréteur est python -c commande [arg] .... Cela exécute les instructions de commande de façon analogue à l’option -c du shell. Parce que les instructions Python contiennent souvent des espaces et d’autres caractères spéciaux pour le shell, il est généralement conseillé de mettre commande entre guillemets simples.

Certains modules Python sont aussi utiles en tant que scripts. Ils peuvent être appelés avec python -m module [arg] ... qui exécute le fichier source de module comme si vous aviez tapé son nom complet dans la ligne de commande.

Quand un fichier de script est utilisé, il est parfois utile de pouvoir lancer le script puis d’entrer dans le mode interactif après coup. Cela est possible en passant -i avant le script.

Tous les paramètres utilisables en ligne de commande sont documentés dans Ligne de commande et environnement.

2.1.1. Passage d’arguments

Lorsqu’ils sont connus de l’interpréteur, le nom du script et les arguments additionnels sont représentés sous forme d’une liste assignée à la variable argv du module sys. Vous pouvez y accéder en exécutant import sys. La liste contient au minimum un élément ; quand aucun script ni aucun argument n’est donné, sys.argv[0] est une chaine vide. Quand '-' (qui représente l’entrée standard) est passé comme nom de script, sys.argv[0] contient '-'. Quand -c commande est utilisé, sys.argv[0] contient '-c'. Enfin, quand -m module est utilisé, le nom complet du module est assigné à sys.argv[0]. Les options trouvées après -c commande ou -m module ne sont pas lues comme options de l’interpréteur Python mais laissées dans sys.argv pour être utilisées par le module ou la commande.

2.1.2. Mode interactif

Lorsque des commandes sont lues depuis un tty, l’interpréteur est dit être en mode interactif. Dans ce mode, il demande la commande suivante avec le prompt primaire, en général trois signes plus-grand-que (>>>) ; pour les lignes de continuation, il affiche le prompt secondaire, par défaut trois points (...). L’interpréteur affiche un message de bienvenue indiquant son numéro de version et une notice de copyright avant d’afficher le premier prompt :

$ python3.5
Python 3.5 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Les lignes de continuation sont nécessaires pour entrer une construction multi-lignes. Par exemple, regardez cette instruction if :

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

Pour plus d’informations sur le mode interactif, voir Mode interactif.

2.2. L’interpréteur et son environnement

2.2.1. Encodage du code source

Par défaut, Python considère que ses fichiers sources sont encodés en UTF-8. Dans cet encodage, les caractères de la plupart des langues peuvent être utilisés ensemble dans les chaînes de caractères, identifiants et commentaires. Notez que la bibliothèque standard n’utilise que des caractères ASCII dans ses identifiants et que nous considérons que c’est une bonne habitude que tout code portable devrait suivre. Pour afficher correctement tous ces caractères, votre éditeur doit reconnaître que le fichier est en UTF-8 et utiliser une police qui comprend tous les caractères utilisés dans le fichier.

Il est possible d’utiliser un autre encodage dans un fichier source Python. La meilleure façon de faire est de placer un commentaire spécial supplémentaire juste après le #! pour définir l’encodage du fichier source :

# -*- coding: encoding -*-

Avec cette déclaration, tous les caractères du fichier source sont traités comme étant dans l’encodage encoding au lieu d’UTF-8. La liste des encodages disponibles peut être trouvée dans la référence de la bibliothèque Python dans la partie à propos de codecs.

Par exemple, si votre éditeur de gère pas l’UTF-8 et insiste pour utiliser un autre encodage, disons Windows-1252, vous pouvez écrire :

# -*- coding: cp-1252 -*-

et continuer d’utiliser tous les caractères de Windows-1252 dans votre code. Ce commentaire spécial spécifiant l’encodage doit être à la première ou deuxième ligne du fichier.

Notes

[1]Sous Unix, par défaut, l’interpréteur Python 3.x n’est pas installé sous le nom de python afin de ne pas entrer en conflit avec une éventuelle installation de Python 2.x.