Console et exécution de fichiers source¶
Pour exécuter du code Python, nous avons la possibilité d’écrire des fichiers sources qui seront ensuite pris en charge par l’interpréteur (qui se chargera également de les compiler). Mais nous pouvons aussi utiliser la console. Cette dernière permet d’entrer une instruction qui est immédiatement compilée et interprétée. On peut ainsi obtenir directement le résultat d’une instruction.
Avec CPython, l’interpréteur et la console sont un seul est même programme appelé
python
(ou python.exe
pour Windows)
Important
Les systèmes MacOS et *nix ont besoin d’installer l’interpréteur
Python 2 et l’interpréteur Python 3 (qui sont des programmes distincts).
Dans ce cas, le programme python
correspond la plupart du temps à
l’interpréteur Python 2 et l’interpréteur Python 3 se nomme alors python3
.
Dans la suite de ce support nous considérerons que l’interpréteur Python 3
se nomme simplement python
.
La console¶
La console Python se lance simplement avec la commande python
$ python
Python 3.6.7
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Important
Pour les exemples de ce support, nous utilisons le caractère $
pour
représenter le prompteur de l’invite de commandes et ainsi indiquer qu’il
s’agit de commandes à taper dans une invite de commandes (ou shell).
De même, nous utilisons la séquence de caractères >>>
pour représenter
le prompteur de la console et ainsi indiquer qu’il s’agit d’un exemple
de code exécuté dans la console Python.
Tous les autres exemples correspondent à du code Python qui peut être placé dans un fichier source ou écrit directement sur la console.
Pour quitter la console, il suffit soit de fermer la fenêtre, soit d’utiliser
le raccourci clavier Ctrl+D ou encore d’appeler les fonctions
quit()
ou exit()
.
>>> quit()
$
Il existe d’autres consoles en Python, citons :
- bpython
Cette console est très pratique pour les utilisateurs occasionnels de Python ou pour les personnes en cours d’apprentissage. En effet, la console vous propose automatiquement les choix possibles au fur et à mesure que vous saisissez du code. Il faut utiliser la touche TAB pour naviguer parmi les choix proposées. De plus, la console affiche systématiquement la documentation de l’élément courant.
- ipython
Cette console offre des fonctionnalités avancées comme la coloration syntaxique et la complétion de code.
Exercice en console
Essayez de taper l’instruction suivante dans la console :
>>> print("Bonjour à tout le monde")
Les fichiers sources¶
Un programme Python est représenté par un fichier (ou pour les programmes
les moins triviaux par plusieurs fichiers) source. Un fichier source
Python est un fichier texte dont le nom se termine par l’extension .py
ou .pyw
.
La première fois que l’interpréteur Python exécute le fichier source, il va
le compiler sous la forme d’une fichier avec l’extension .pyc
. Les fichiers
de compilation étant automatiquement gérés par l’interpréteur, ils peuvent
largement être ignorés par les développeurs. D’ailleurs l’interpréteur Python 3
place les fichiers compilés dans un répertoire __pycache__
pour ne pas
les mélanger avec le code source.
Pour lancer un programme à partir d’un fichier source, il suffit de taper sur
une invite de commande python
suivi du chemin vers le fichier source.
$ python mon_fichier_source.py
En Python 3, les fichiers source doivent être encodés en UTF-8. Normalement, un éditeur de code adapté au développement en Python 3 devrait gérer ce réglage sans l’intervention du développeur. Mais méfiance…
Pour plus de sécurité, vous pouvez ajouter en début de fichier la pseudo instruction :
# -*- coding: utf-8 -*-
Elle permet de spécifier manuellement l’encodage.
Exercice avec un fichier source
Créez le fichier source premier_programme.py
et écrivez dedans :
print("Bonjour à tout le monde")
Exécutez le programme depuis une invite de commandes en vous plaçant dans le même répertoire de travail que le fichier et en tapant :
$ python premier_programme.py
Lancement en mode interactif¶
Lors du développement, il est parfois utile d’exécuter un fichier et
ensuite de basculer en mode console pour pouvoir écrire directement du code
en fonction des déclarations et des traitements réalisés par ce fichier source.
On appelle cela le lancement en mode interactif. Il suffit d’ajouter
le paramètre de lancement -i
dans l’invite de commandes avant de préciser
le chemin du fichier à exécuter.
$ python -i mon_fichier_source.py
Lancement d’un programme hors de la console¶
Tous les systèmes autorisent le lancement d’un programme Python en cliquant sur le fichier depuis un explorateur de fichiers. Pour cela, il faut tout de même s’assurer que le fichier possède les droits d’exécution pour l’utilisateur.
Pour les systèmes *nix, il faut ajouter au début du fichier le shebang :
#!/usr/bin/python
Lorsque vous exécutez de cette manière un fichier Python, le système ouvrira
un terminal pour permettre au programme d’afficher des informations. Si votre
programme Python est un programme graphique qui interagit avec l’utilisateur
uniquement avec des fenêtres, vous pouvez indiquer au système que votre
programme n’a pas besoin d’un terminal au démarrage en donnant à votre fichier
l’extension .pyw
).
Notion de bloc et d’indentation¶
Comme beaucoup de langages de programmation, la grammaire du langage Python décompose un programme en bloc. Mais à la différence des autres langages, Python n’utilise pas un caractère ou une instruction pour délimiter les blocs mais uniquement l’indentation du code, c’est-à-dire le nombres d’espaces avant une instruction. Cela incite les développeurs à présenter correctement le code source à la fois pour le compilateur et pour les éventuels lecteurs. En Python il est recommandé d’utiliser uniquement des espaces (pas de tabulation) et d’indiquer la présence d’un bloc par quatre espaces.
Ceci est un exemple
Avec un premier bloc qui n'est pas du Python mais qui permet de ce
rendre compte du principe d'indentation
Voici un sous bloc dans le bloc
qui peut continuer avec éventuellement des lignes vides
Après le bloc reprend
On démarre une nouvelle instruction
Et ainsi de suite...
Les commentaires¶
Il est possible d’écrire des commentaires dans le code source, c’est-à-dire
du texte qui sera ignoré par le compilateur. En Python les commentaires
commencent par le caractère #
(sauf dans une chaîne de caractères où ce
caractère est considéré comme faisant partie de la chaîne).
# Ceci est un commentaire
print("Bonjour à tout le monde") # Et ceci est un autre commentaire
print("# Attention ceci n'est pas un commentaire !")