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.
|