TUTORIELS 
Introduction au Python
Portable, extensible, gratuit et orienté-objet, le Python ne manque pas d'atouts. Premier contact.  (11 décembre 2001)
 

Dans un sondage précédent, 30% d'entres vous déclaraient leur intérêt pour Python. Est-ce étonnant ? Jugez plutôt :

- Python est portable : Unix, , Windows, BeOS, et MacOS sont quelques-uns des systèmes supportés par Python. Il est même possible de générer du "bytecode" Java à partir du compilateur JPython. Python est également l'un des langages qui sera supporté par la plate-forme .Net de Microsoft.
- Sa syntaxe est simple et concise. Un programme écrit en Python est en moyenne de 3 à 5 fois plus concis que son équivalent en C/C++, il en découle des temps de développement de 5 à 10 fois plus court.
- Il est extensible. Cela signifie qu'on peut l'interfacer avec des librairies déjà existantes. Lui-même peut servir de langage d'extension pour d'autres langages.
- D'autres caractéristiques de Python : orienté-objet, interprété, c'est un langage de haut niveau disposant de types de données évolués.

L'environnement de travail

Comme d'habitude avec un nouveau langage, nous devons nous procurer un environnement de travail, de préférence pas trop complexe, afin d'effectuer nos premiers pas à l'aide d'exemples simples.

Cela tombe bien, tout est fourni lorsque l'on télécharge Python. "IDLE" (an Integrated DeveLopment Environment for Python) est en effet présent (il se trouve dans "tools\idle" pour la distribution Windows de Python). Développé par Guido van Rossum, l'inventeur du Python, cet IDE est écrit en Python. Il offre deux modes :

- Un interpréteur Python (par défaut)
- Un éditeur (s'actionne par le menu "file -> new window").

Lancez l'éditeur en double-cliquant sur "idle.pyc" (".pyc" étant l'extension d'un fichier python compilé, ".py" sinon pour les fichiers sources).
L'interpréteur vous place alors dans un environnement capable de comprendre les commandes de base de Python. Cependant, pour exécuter des programmes plus complexes mieux vaut tirer parti des fonctionnalités offertes par l'éditeur.
Outre la coloration syntaxique et l'indentation automatique (nous verrons son importance un peu plus tard), l'éditeur offre des possibilités de "débug" mais vous permettra surtout d'exécuter facilement votre script dans l'interpréteur.

Les bases de l'environnement de travail étant jetées, nous allons découvrir à quoi ressemble la fameuse syntaxe du Python.

Quelques manipulations de variable

Lorsque l'on débute avec un nouveau langage, il est fort utile de connaître sa syntaxe en ce qui concerne les commentaires, en python, ils ressemblent à ça :

# voici une ligne de commentaire

Pour commenter plusieurs lignes de code, trois simples quotes équivalent au " /* " de la syntaxe C par exemple :

print "bonjour"
''' print "comment "
print "ca va ?" '''


Seul "bonjour" est affiché.

Déclarer une variable en Python est chose aisée, celles-ci ne sont pas typées. Voici par exemple comment affecter plusieurs variables en même temps :

a, b, c = 1, 2, 3
print a, b, c

"1, 2, 3" s'affiche.

Une même valeur peut également être assignée à plusieurs variables simultanément :

d = e = 5

Pas besoin de passer explicitement par une variable temporaire pour permuter le contenu de deux variables :

a, b = b, a
print a, b


On obtient : "2, 1"

Les structures de contrôle

Voici une des structures les plus simples, le "if" :

if a < = 0:
     print "a est négatif"
else:
     print "a est supérieur à zéro"

Les comparaisons (>, <, ==, ...) sont classiques, mais on remarque qu'aucune accolade n'est ici nécessaire, c'est l'indentation qui se charge de tout. Cette particularité impose donc une certaine rigueur (qui contribue à la clarté du code), sans quoi les contrevenants se verront accueillir par :

IndentationError: expected an indented block (line x)

A noter également les " : " après la condition, eux aussi sont obligatoires.

Pour retrouver une structure de type "switch", on peut procéder comme suit :

jour = "mercredi"
if jour == "lundi":
     print "monday"
elif jour == "mardi":
     print "tuesday"
elif jour == "mercredi":
     print "wednesday"
else:
     print "thursday->sunday"

Contraction de "else" et de "if", le "elif" contribue à minimiser la taille du code.

L'instruction "for" en Python ne se comporte pas de la même manière que son équivalent en C par exemple. Elle est ici capable de parcourir plusieurs types de données (de la simple variable à la liste) :

for i in [1,2,3,4,5]:
     print "Valeur de i : ", i


On obtient : "Valeur de i : 1", "Valeur de i : 2", ...

Parcourons cette fois une liste de chaînes de caractères :

expressions = ['bonjour', 'au revoir', 'à bientôt']
for j in expressions:
print j, len(j)

On obtient :
"bonjour 7"
"au revoir 9"
"à bientôt 9"

L'instruction while étant plus classique, nous ne l'évoquons pas ici.

Pour retrouver une utilisation plus classique de l'instruction "for" on peut la coupler à la fonction "range" :

for k in range(10):
     print k

... Provoque l'affichage "0, 1, ...9".

Enfin, pour terminer en beauté cette introduction au Python (d'autres tutoriels suivront), voici un exemple où l'utilisateur interagit avec le programme :

def carre(x):
     return x*x

nb = input("nombre : ")
print carre(nb)

Nous avons défini la fonction "carré" qui renvoie le carré d'un nombre, puis à l'aide de l'instruction "input" nous plaçons le nombre tapé par l'utilisateur dans une variable "nb", que nous utilisons dans la fonction.
Attention, si un caractère (au lieu d'un chiffre) est placé en entrée de ce programme, il se plantera. Nous verrons ultérieurement comment profiter des fonctions de gestion d'erreurs de Python pour éviter qu'une telle situation ne se produise.

En attendant notre prochain tutoriel sur le sujet vous pouvez d'ores et déjà consulter le site officiel de Python afin de vous familiariser encore davantage avec ce langage.

 
[ Arnaud GadalJDNet
 
Accueil | Haut de page