Chapitre 1 : Introduction

         1 – Avant de commencer

    Avant de débuter ce cours, voici quelques indications générales qui pourront vous servir pour la suite.

Familiarisez-vous avec le site www.python.org. Il contient énormément d’informations et de liens sur Python et vous permet en outre de le télécharger pour différentes plateformes (Linux, Mac, Windows). La page d’index des modules est particulièrement utile.
Pour aller plus loin avec Python, Gérard Swinnen a écrit un très bon livre intitulé Apprendre à programmer avec Python et téléchargeable gratuitement. Les éditions Eyrolles proposent également la version papier de cet ouvrage.
Ce cours est basé sur une utilisation de Python sous Linux mais il est parfaitement transposable aux systèmes d’exploitation Windows et Mac.
L’apprentissage d’un langage informatique comme Python va nécessiter d’écrire des lignes de codes à l’aide d’un éditeur de texte. Si vous êtes débutants, nous vous conseillons vivement d’utiliser gedit ou nedit, qui sont les plus proches des éditeurs que l’on peut trouver sous Windows (notepad). Des éditeurs comme emacs et vi sont très puissants mais nécessitent un apprentissage particulier.

         2 – Premier contact avec Python sous Linux

    Python est un langage interprété, c’est-à-dire que chaque ligne de code est lue puis interprétée afin d’être exécutée par l’ordinateur. Pour vous en rendre compte, lancez la commande :

Code python

python
Celle-ci va démarrer l’interpréteur Python. Vous devriez obtenir quelque chose de ce style :

Code python

[fuchs@opera ~]$ python
Python 2.5.1 (r251:54863, Jul 10 2008, 17:25:56)
[GCC 4.1.2 20070925 (Red Hat 4.1.2-33)] on linux2
Type « help », « copyright », « credits » or « license » for more information.
>>>

Le bloc [fuchs@opera ~]$ représente l’invite de commande de votre shell sous Linux.
Le triple chevron >>> est l’invite de Python (prompt en anglais), ce qui signifie que Python attend une commande. Tapez par exemple l’instruction

Code python

print « Hello world !

puis validez votre commande avec la touche Entrée.

Python a exécuté la commande directement et a affiché le texte Hello world !. Il attend ensuite votre prochaine instruction en affichant l’invite de l’interpréteur Python (>>> ). En résumé, voici ce qui a du apparaître sur votre écran :

Code python

>>> print « Hello world ! »
Hello world !
>>>

Vous pouvez refaire un nouvel essai en vous servant cette fois de l’interpréteur comme d’une machine à calculer.

Code python

>>> 1 + 1
2
>>>

À ce stade, vous pouvez entrer une autre commande ou bien quitter l’interpréteur à l’aide des touches Ctrl-D. Finalement l’interpréteur Python est un système interactif dans lequel vous pouvez entrer des commandes, que Python exécutera sous vos yeux (au moment où vous validerez la commande en tapant sur Entrée).

Il existe de nombreux autres langages interprétés tels que Perl ou R. Le gros avantage est que l’on peut directement tester une commande à l’aide de l’interpréteur, ce qui est très utile pour débugger (c’est-à-dire corriger les éventuelles erreurs d’un programme). Gardez bien en mémoire cette propriété de Python qui pourra parfois vous faire gagner un temps précieux !

         3 – Premier programme Python

    Bien sûr, l’interpréteur présente vite des limites dès lors que l’on veut exécuter une suite d’instructions plus complexe. Comme tout langage informatique, on peut enregistrer ces instructions dans un fichier, que l’on appelle communément un script Python.

Pour reprendre l’exemple précédent, ouvrez un éditeur de texte (par exemple gedit ou nedit) et entrez le code suivant.

Code python

print ‘Hello World !’
Ensuite enregistrez votre fichier sous le nom test.py, puis quittez l’éditeur de texte. L’extension standard des scripts Python est .py. Pour exécuter votre script, vous avez deux moyens.

Soit donner le nom de votre script comme argument à la commande Python :

Code python

[fuchs@opera ~]$ python test.py
Hello World !
[fuchs@opera ~]$
Soit rendre votre fichier exécutable. Pour cela deux opérations sont nécessaires :
Précisez au shell la localisation de l’interpréteur Python en indiquant dans la première ligne du script :

Code python

#!/usr/bin/env python
Dans notre exemple, le script test.py contient alors le texte suivant :

Code python

#!/usr/bin/env python

print ‘Hello World !’
Rendez votre script Python exécutable en tapant :

Code python

chmod +x test.py
Pour exécuter votre script, tapez son nom précédé des deux caractères ./ (afin de préciser au shell où se trouve votre script) :

Code python

[fuchs@opera ~]$ ./test.py
Hello World !
[fuchs@opera ~]$

         4 – Commentaires

    Dans un script, tout ce qui suit le caractère # est ignoré par Python jusqu’à la fin de la ligne et est considéré comme un commentaire. Une exception notable est la première ligne de votre script qui peut être #!/usr/bin/env python et qui a alors une signification particulière pour Python.

Les commentaires sont indispensables pour que vous puissiez annoter votre code. Il faut absolument les utiliser pour décrire les principales parties de votre code dans un langage humain.

Code python

#!/usr/bin/env python

# votre premier script Python
print ‘Hello World !’

# d’autres commandes plus utiles pourraient suivre

         5 – Séparateur d’instructions

    Python utilise l’espace comme séparateur d’instructions. Cela peut sembler évident, mais il est tout de même important de le préciser. Par exemple :

Code python

>>> print 1
1
>>> print1
Traceback (most recent call last):
File « <stdin> », line 1, in <module>
NameError: name ‘print1’ is not defined

Omettre l’espace entre l’instruction print et le chiffre 1 renvoie une erreur.

         6 – Notion de bloc d’instructions et d’indentation

    Pour terminer ce chapitre d’introduction, nous allons aborder dès maintenant les notions de bloc d’instructions et d’indentation.
En programmation, il est courant de répéter un certain nombre de choses (avec les boucles, voir chapitre 5) ou de faire des choix (avec les tests, voir chapitre 6).

Par exemple, imaginez que vous souhaitiez répéter 10 fois 3 instructions différentes, les unes à la suite des autres. Regardez l’exemple suivant en pseudo-code:

Code python

instruction_qui_indique_à_Python_de_répéter_10_fois_ce_qui_suit:
sous-instruction1
sous-instruction2
sous-instruction3
instruction_suivante

La première ligne correspond à une instruction qui va indiquer à Python de répéter 10 fois d’autres instructions (il s’agit d’une boucle, on verra le nom de la commande exacte plus tard). Dans le pseudo-code ci-dessus, il y a 3 instructions à répéter, nommées sous-instruction1 à sous-instruction3.
Notez bien les détails de la syntaxe. La première ligne indique que l’on veut répéter une ou plusieurs instructions, elle se termine par :. Ce symbole : indique à Python qu’il doit attendre un bloc d’instructions, c’est-à-dire un certains nombres de sous-instructions à répéter. Python reconnaît un bloc d’instructions car il est indenté. L’indentation est le décalage d’un ou plusieurs espaces ou tabulations des instructions sous-instruction1 à sous-instruction3, par rapport à
instruction_qui_indique_à_Python_de_répéter_10_fois_ce_qui_suit:.

Pratiquement, l’indentation en Python doit être homogène (soit des espaces, soit des tabulations, mais pas un mélange des deux). Une indentation avec 4 espaces est le style d’indentation le plus traditionnel et celui qui permet une bonne lisibilité du code.

Enfin, la ligne instruction_suivante sera exécutée une fois que le bloc d’instructions sera terminé.

Si tout cela vous semble un peu fastidieux, ne vous inquiétez pas. Vous allez comprendre tous ces détails, et surtout les acquérir, en continuant ce cours chapitre par chapitre.