| PYTHON | Mise à jour 03-2002 |
|
Python est encore un langage de script, provenant initialement du monde du logiciel libre, et maintenant porté sous Windows et d'autres systèmes d'exploitation. Il garde des langages de scripts qui l'ont précédé (Tcl, Perl) la souplesse et l'adaptibilité : de nouveaux modules, que l'on peut développer dans le langage même, permettent d'en étendre les possibilités. Au titre des extensions, on peut citer :
Un autre aspect intéressant est l'approche objet qui autorise un développement modulaire des applications.
La syntaxe La syntaxe d'un programme Python est particulière : la règle principale est l'indentation. Ce qui n'est dans certains langages qu'une facilité de présentation est ici significatif de la structure du programme : le traitement d'un if est décalé par rapport au if et se termine par une ligne vierge. L'indentation se réalise soit par tabulation, soit par insertion d'espaces. Le programme source créé est sauvegardé sous l'extension .py Les modules Les modules donnent à Python toute son adaptabilité. On trouve des modules pour la manipulation de chaines de caractères, pour les calculs mathématiques, la gestion des fichiers ... Un module est incorporé dans un programme par la commande d'importation from xxx import *, xxx représente le nom du module. Les modules se présentent souvent sous forme de fichiers source, avec l'extension .py. Leur visualisation est une excellente source d'apprentissage. Les listes Les listes sont une fonction puissante de Python. On peut approximativement les assimiler à des tableaux. A la différence d'un tableau, les listes ne sont pas typées, c'est-à-dire qu'un poste peut contenir un nombre et le suivant une chaine. Une liste peut à son tour constituer un élément d'une liste. Il existe plusieurs sortes de listes
Un autre point intéressant est la notion de slice qui permet d'extraire un sous-ensemble d'une liste. Ex : a=("a", "b", "c", "d", "e") a[1:3] donne ("b", "c") La librairie graphique Tk Cette librairie (module Tkinter) donne accès à des widgets qui représentent des boutons, des listes déroulantes, des boutons radio ... utiles à la création d'une application fenêtrée. La tâche la plus compliquée est de les disposer dans l'écran de la manière voulue. Il existe pour ceci 3 méthodes
L'approche objet est basée sur trois principes.
Un programme classique manipule des données, ou variables, à l'aide de code qui constitue des fonctions. En programmation objet, les données et les fonctions (on dit propriétés et méthodes) sont encapsulées au sein d'un objet. Le grand avantage qui en résulte est une modularité des programmes par le fait que les objets sont indépendants les uns des autres. Ainsi, une variable i d'un objet ne pourra être écrasée par une variable i utilisée ailleurs dans un autre objet. Même chose pour les fonctions. Un objet peut être incorporé dans n'importe quel programme puisqu'il transporte avec lui tout ce qui est nécessaire pour fonctionner. L'héritage On éprouve parfois le besoin d'avoir des objets différents mais proches cependant pour l'essentiel. Un objet peut hériter des caractéristiques d'un autre objet et en ajouter de nouvelles ou modifier les existantes. J'en donne plus loin un exemple avec des voitures et des limousines : une limousine est aussi une voiture. Le polymorphisme Le polymorphisme est le mécanisme qui permet de redéfinir une méthode héritée d'une classe. Ainsi, le même nom désigne une méthode plus adaptée à l'objet dérivé. On y gagne en modularité et en simplicité d'écriture : dans l'exemple évoqué, les voitures et les limousines possèdent une méthode démarrer qui agit un peu différemment dans les deux cas. C'est l'environnement objet qui sélectionne automatiquement la bonne méthode, et non le programmeur. L'interpréteur Pour lancer l'interpréteur, se mettre dans le répertoire d'installation et lancer la commande python. On entre alors en mode interactif les commandes, sans oublier l'indentation pour les fonctions complexes (boucles). Si l'on lance le programme en tapant python xxx.py, le programme xxx.py est éxécuté au lieu de donner la main dans l'interpréteur. |
Les exemples présentés ci-après permettent de mettre en oeuvre un certain nombre des possibilités de Python, principalement Tk, Mysql et la programmation objet. Ils ont pour la plupart leur équivalent en Tcl et Perl. On y constate le parallélisme des méthodes utilisées.
Ce petit jeu consiste à transformer un mot en ajoutant entre une consonne et une voyelle la syllabe AV. Ainsi bonjour donne bavonjavour. Les ressources nécessaires sont
Un tableau de 9 cases numérotées de 1 à 9 s'affiche, chaque case étant soit rouge, soit verte. Un clic sur une case change la couleur des cases adjacentes. Le but est d'obtenir toutes les cases vertes, la centrale restant rouge. Les ressources utilisées pour ce faire
Le programme trace un graphique dans un canevas, à l'aide de lignes droites. Des boutons radio permettent de modifier le coefficient de forme. Les ressources utilisées dans ce programme
Ces programmes accèdent à une base de données Mysql et listent le contenu à l'écran. Ils sont volontairement simples afin de bien isoler les différentes fonctionnalités. A noter l'utilisation de la fonction print avec ses possibilités de formattage des données.
Ces deux programmes constituent l'ébauche d'une application de gestion. Le sujet choisi est une gestion de bibliothèque. Le premier programme affiche une liste des auteurs, le second permet de créer des auteurs. Ces programmes ont juste vocation à servir d'exemple de base à partir desquels créer les autres programmes. Ils utilisent pour cela diverses fonctions offertes par Python. Affichage des auteurs L'écran se compose de 3 listbox pour présenter les données des auteurs et d'une scrollbar pour faire défiler le contenu. Ces 4 objets sont liés afin de synchroniser le déplacement au sein de la table. En entête, des radiobutton offrent le choix d'un affichage par n° ou par ordre alphabétique. En pied de page, 4 boutons donnent accès à d'autres fonctions
L'écran présente les champs de saisie (zones de texte Entry). Au bas de la page, un bouton Valider et un bouton Quitter. Le n° d'auteur est calculé automatiquement à partir d'un fichier texte. A faire L'application est ici très incomplète, non seulement en ce qui concerne les tables à gérer, mais aussi sur certains points techniques non encore résolus :
Les ressources utilisées dans ces programmes :
Le programme montre l'utilisation des classes en exploitant les caractéristiques d'encapsulation et d'héritage. L'exemple se compose de deux classes : voiture Une voiture comporte les caractéristiques suivantes :
Une limousine est d'abord une voiture et comporte les caractéristiques supplémentaires suivantes :
|
Le site http://www.python.org est la référence officielle. On y trouve la documentation en anglais très complète et des versions à télécharger. |