J'ai décidé de faire mon travail
de diplôme sur le langage Python car l'étude d'un langage
de haut niveau et qui introduit la programmation orientée objet
m'a permis de compléter une base en programmation faite sur des
langages de plus bas niveau (Assembleur et langage C).
Ce tutoriel est destiné à toutes les personnes qui ont déjà une connaissance suffisante en programmation fonctionnelle pour comprendre les mécanismes simples de sélection et d'itération.
Il s'adresse aussi aux personnes qui veulent
apprendre un langage de programmation de haut niveau, qui permet d'introduire
relativement simplement et sans obligation la programmation orientée
objet, et qui par la richesse de ses librairies donne la possibilité
de développer rapidement des utilitaires.
Ce tutoriel à été conçu
pour donner un avant goût du langage de programmation Python. Il
traite les éléments tels que les types intrinsèques,
les instructions et les expressions du langage Python avec leurs utilisations
de base. Il introduit aussi la base de la programmation orientée
objet et le traitement des exceptions. Chaque partie traitant d'un objet,
expression ou instruction est suivi d'un exemple simple qui montre les
propriétés de l'objet en question.
Les exemples en code Python sont écrits
en italiques, et lorsque un exemple à été créé
avec l'invité interactif, il est précédé de
>>> où bien ... !
Remerciements.
Mes remerciements pour une aide sans faille
à Madame Catherine Rochat et à Messieurs Jacques Finger,
Georges Zünd, Fabien Verdan, Cédric Schöpfer, Julien Pernet....!!
Le
langage Python.
Python est un langage de programmation à typage dynamique qui à été développé en 1989 par Guido Van Rossum et de nombreux bénévoles.
Les points forts de Python, sont qu'il est
portable, dynamique, extensible et gratuit (General Public License), et
qu'il permet une approche modulaire orientée objet, sans pour autant
que cela soit obligatoire.
Portable
?
Python est non seulement portable entre les
différentes variantes d'Unix, mais aussi sur les OS propriétaires
comme MacOS, BeOS, MS-DOS et les différentes variantes de Windows.
Gratuit
?
L'interpréteur Python est gratuit
pour tous les OS. En effet Python est placé sous GPL.
Extensible
?
Python a déjà une multitude
de librairies et de modules par défaut. Certains sont multi-plateformes
et d'autres pas. De plus, il est toujours possible d'en développer
pour ses propres besoins.
Les
Caractéristiques de Python.
La syntaxe de Python est très simple
et, combinée avec des types de donnée évolués
(listes, dico,...), conduit à des programmes à la fois compacts
et lisibles.
Il gère par lui-même ses ressources
(mémoires, descripteurs de fichier,...).
Il intègre comme Java un système
d'exceptions, qui permet de simplifier la gestion des erreurs.
Il est orienté objet (sans que cela
soit obligatoire). Il supporte l'héritage multiple et la surcharge
des opérateurs.
Il est extensible. On peut facilement l'interfacer
avec des librairies C existantes. On peut aussi s'en servir comme d'un
langage d'extension pour des systèmes logiciels complexes.
La librairie standard de Python, et les paquetages
inclus, donnent accès à une grande variété
de services : chaînes de caractères et expressions régulières,
services UNIX standard (fichiers, pipes, signaux, sockets, threads...),
protocoles Internet (Web, News, FTP, CGI, HTML...), persistances et bases
de données, interfaces graphiques (Tcl/Tk).
Python est un langage qui continue à
évoluer, soutenu par une communauté d'utilisateurs enthousiastes
et responsables, dont la plupart sont des supporters du logiciel libre.
Comparaison
des langages !
Python fait partie des langages de script
tel que Perl, Tcl, Rexx, alors que Java, C++ et C sont des langages qui
nécessitent une compilation.
Les langages de script sont plus rapides au développement que les autres. Les programmes comportent moins de lignes (environ 50 % de moins), par contre leur vitesse d'exécution est plus lente.
La place mémoire prise par les langages
de script et Java lors de l'exécution d'un programme est plus grande
qu'en C / C++.
Python se situe dans les langages de script rapide, qui utilisent peu de place mémoire (environ la même chose que le C).
La durée de travail pour écrire
un programme en Python se situe dans les plus bas (si ce n'est pas le plus
bas), de plus la fiabilité du langage Python est proche du 100 %
!!
Exécuter
des programmes Python.
Il y a plusieurs façons d'exécuter
un programme Python :
- Lancer l'invité interactif. Il est
dès lors possible de taper le code au fur et à mesure. Une
ligne de l'invité interactif commence toujours par les caractères
: >>> où bien ... selon l'indentation.
- Créer un fichier comprenant du langage
Python puis l'invité interactif de lancer la commande "import nom_du_fichier"(sans
le .py) ce qui exécutera le code compris dans le fichier.
- De plus sur certain OS (Unix et Linux)
il est aussi possible de créer un script avec sur la première
ligne du fichier la commande "#! /usr/bin/python" (par exemple), cette
méthode permet de lancer le programme python (il faut que le fichier
soit exécutable).
- Python peut aussi se lancer depuis d'autres
applications, mais je ne traite pas ce cas dans ce tutoriel.
- Sur la plupart des OS dits "user friendly"
les programmes python se lancent en double-cliquant sur le fichier. Dans
Windows les extensions .py sont automatiquement ouvertes avec Python, sur
MacOS il faut d'abord faire un import et ensuite un .pyc est créé,
ce programme en bytecode est alors automatiquement exécutable en
cliquant dessus.
Lors de l'installation, Python règle
les répertoires où il va chercher les modules et librairies.
Il est cependant possible d'en rajouter, mais comme chaque OS a ses spécialité,
il est préférable de lire la documentation propre à
la version de Python. Nous verrons plus loin une fonction permettant à
un programme de rechercher des modules dans de nouveaux répertoires.
Structure
d'un programme en Python.
La structure et la syntaxe en Python ne sont
pas très compliquées, cependant il est nécessaire
de toujours suivre les règles de base !
Python ne nécessite pas de déclaration
de type ; une variable est directement affectable par l'opérateur
"=".
Un bloc de code en Python, par exemple une
fonction, ne s'ouvre et ne se ferme pas avec un caractère (comme
{} en C). En Python seul l'indentation de l'instruction indique à
quel niveau elle se trouve. Il est très important de toujours garder
la même indentation pour un bloc (en général 1 TAB).
En général les commentaires
sont marqués par le caractère #, depuis ce caractère
Python prend le reste de la ligne comme un commentaire. Il est aussi possible
dans un fichier de marquer un commentaire avec des guillemets,( ceci permet
un commentaire sur plusieurs lignes """....""").
Comme Python est un langage interprété,
la lecture d'un fichier se fait de haut en bas. Il faut que les déclarations
de fonctions, de variables et de classes se fassent avant leur première
utilisation.
Il est possible de mettre plusieurs instructions
sur la même ligne, si elles sont séparées par un point-virgule.
Un bloc doit forcément contenir une
instruction, un « else »: sans rien générera
une erreur.
Les instructions peuvent s'étendre
sur plusieurs lignes si elles se trouvent dans une paire syntaxique, par
exemple une paire de crochets. Une instruction peut aussi s'étendre
sur plusieurs lignes si elle finit par un antislash.