« Programmation Python/Instructions répétitives » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 214 :
</ol>
{{fin}}
 
== Premiers scripts, ou : Comment conserver nos programmes ? ==
 
Jusqu'à présent, vous avez toujours utilisé Python ''en mode interactif'' (c'est-à-dire que vous avez à chaque fois entré les commandes directement dans l'interpréteur, sans les sauvegarder au préalable dans un fichier). Cela vous a permis d'apprendre très rapidement les bases du langage, par expérimentation directe. Cette façon de faire présente toutefois un gros inconvénient : toutes les séquences d'instructions que vous avez écrites disparaissent irrémédiablement dès que vous fermez l'interpréteur. Avant de poursuivre plus avant votre étude, il est donc temps que vous appreniez à sauvegarder vos programmes dans des fichiers, sur disque dur ou disquette, de manière à pouvoir les retravailler par étapes successives, les transférer sur d'autres machines, etc.
 
Pour ce faire, vous allez désormais rédiger vos séquences d'instructions dans un éditeur de textes quelconque (par exemple ''{{w|Joe's Own Editor}}'', ''{{w|NEdit}}'', ''{{w|Kate (logiciel)|Kate}}''… sous Linux, ''[[DOS/Edit|Edit]]'' sous ''MS-DOS'', ''{{w|WordPad}}'' sous ''Windows'', ou mieux encore l'éditeur incorporé dans une interface de développement telle que ''IDLE'' ou ''PythonWin''). Ainsi vous écrirez un script, que vous pourrez ensuite sauvegarder, modifier, copier, etc. comme n'importe quel autre texte traité par ordinateur<ref>Il serait parfaitement possible d'utiliser un système de traitement de textes, à la condition d'effectuer la sauvegarde sous un format "texte pur" (sans balises de mise en page). Il est cependant préférable d'utiliser un véritable éditeur ANSI "intelligent" tel que ''NEdit'' ou ''IDLE'', muni d'une fonction de coloration syntaxique pour Python, qui vous aide à éviter les fautes de syntaxe. Avec ''IDLE'', suivez le menu : ''File → New window'' (ou frappez ''CTRL-N'') pour ouvrir une nouvelle fenêtre dans laquelle vous écrirez votre script. Pour l'exécuter, il vous suffira (après sauvegarde), de suivre le menu : ''Edit → Run script'' (ou de frapper ''CTRL-F5'').</ref>.
 
La figure ci-dessous illustre l'utilisation de l'éditeur ''NEdit'' sous ''Gnome'' (Linux) :
 
[[Image:Apprendre à programmer avec Python 7.png|center|500px]]
 
Par la suite, lorsque vous voudrez tester l'exécution de votre programme, il vous suffira de lancer l'interpréteur Python en lui fournissant (comme argument) le nom du fichier qui contient le script. Par exemple, si vous avez placé un script dans un fichier nommé <tt>MonScript</tt>, il suffira d'entrer la commande suivante dans une fenêtre de terminal pour que ce script s'exécute :
 
<pre>
python MonScript
</pre>
 
Pour faire mieux encore, veillez à donner au fichier un nom qui se termine par l'extension <tt>.py</tt>
 
Si vous respectez cette convention, vous pourrez (sous ''Windows'', ''KDE'', ''Gnome'', ...) lancer l'exécution du script, simplement en cliquant sur son nom ou sur l'icône correspondante dans le gestionnaire de fichiers (c'est-à-dire l'explorateur, sous ''Windows'', ou ''Konqueror'', sous ''KDE'').
 
Ces gestionnaires graphiques « savent » en effet qu'il doivent lancer l'interpréteur Python chaque fois que leur utilisateur essaye d'ouvrir un fichier dont le nom se termine par <tt>.py</tt> (cela suppose bien entendu qu'ils aient été correctement configurés). La même convention permet en outre aux éditeurs « intelligents » de reconnaître automatiquement les scripts Python et d'adapter leur coloration syntaxique en conséquence.
 
Un script Python contiendra des séquences d'instructions identiques à celles que vous avez expérimentées jusqu'à présent. Puisque ces séquences sont destinées à être conservées et relues plus tard par vous-même ou par d'autres, ''il vous est très fortement recommandé d'expliciter vos scripts le mieux possible, en y incorporant de nombreux commentaires''. La principale difficulté de la programmation consiste en effet à mettre au point des algorithmes corrects. Afin que ces algorithmes puissent être vérifiés, corrigés, modifiés, etc. dans de bonnes conditions, il est essentiel que leur auteur les décrive le plus complètement et le plus clairement possible. Et le meilleur emplacement pour cette description est le corps même du script (ainsi elle ne peut pas s'égarer).
 
Un bon programmeur veille toujours à insérer un grand nombre de commentaires dans ses scripts. En procédant ainsi, non seulement il facilite la compréhension de ses algorithmes pour d'autres lecteurs éventuels, mais encore il se force lui-même à avoir les idées plus claires.
 
On peut insérer des commentaires quelconques à peu près n'importe où dans un script. Il suffit de les faire précéder d'un caractère <tt>#</tt>. Lorsqu'il rencontre ce caractère, l'interpréteur Python ignore tout ce qui suit, jusqu'à la fin de la ligne courante.
 
Comprenez bien qu'il est important d'inclure des commentaires ''au fur et à mesure'' de l'avancement de votre travail de programmation. N'attendez pas que votre script soit terminé pour les ajouter « après coup ». Vous vous rendrez progressivement compte qu'un programmeur passe énormément de temps à relire son propre code (pour le modifier, y rechercher des erreurs, etc). Cette relecture sera grandement facilitée si le code comporte de nombreuses explications et remarques.
 
Ouvrez donc un éditeur de texte, et rédigez le script ci-dessous :
 
<pre>
# Premier essai de script Python
# petit programme simple affichant une suite de Fibonacci, c.à.d. une suite
# de nombres dont chaque terme est égal à la somme des deux précédents.
 
a, b, c = 1, 1, 1 # a & b servent au calcul des termes successifs
# c est un simple compteur
print 1 # affichage du premier terme
while c<15: # nous afficherons 15 termes au total
a, b, c = b, a+b, c+1
print b
</pre>
 
Afin de vous montrer tout de suite le bon exemple, nous commençons ce script par trois lignes de commentaires, qui contiennent une courte description de la fonctionnalité du programme. Prenez l'habitude de faire de même dans vos propres scripts.
 
Les lignes de code elle-mêmes sont documentées. Si vous procédez comme nous l'avons fait, c'est-à-dire en insérant des commentaires à la droite des instructions correspondantes, veillez à les écarter suffisamment de celles-ci, afin de ne pas gêner leur lisibilité.
 
Lorsque vous aurez bien vérifié votre texte, sauvegardez-le et exécutez-le.
 
{{remarque|Bien que ce ne soit pas indispensable, nous vous recommandons une fois encore de choisir pour vos scripts des noms de fichiers se terminant par l'extension .py Cela aide beaucoup à les identifier comme tels dans un répertoire. Les gestionnaires graphiques de fichiers (explorateur Windows, Konqueror) se servent d'ailleurs de cette extension pour leur associer une icône spécifique. Evitez cependant de choisir des noms qui risqueraient d'être déjà attribués à des modules python existants : des noms tels que math.py ou Tkinter.py, par exemple, sont à proscrire !}}
 
Si vous travaillez en mode texte sous ''Linux'', ou dans une fenêtre MSDOS, vous pouvez exécuter votre script à l'aide de la commande python suivie du nom du script. Si vous travaillez en mode graphique sous ''Linux'', vous pouvez ouvrir une fenêtre de terminal et faire la même chose. Dans l'explorateur ''Windows'' ou dans ''Konqueror'', vous pouvez lancer l'exécution de votre script en effectuant un simple clic de souris sur l'icône correspondante.
 
Si vous travaillez avec ''IDLE'', vous pouvez lancer l'exécution du script en cours d'édition, directement à l'aide de la combinaison de touches <Ctrl-F5>. Consultez votre professeur concernant les autres possibilités de lancement éventuelles sur différents systèmes d'exploitation.
 
== Remarque concernant les caractères accentués et spéciaux ==