




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Apprenez à programmer en python. Apprenez à programmer en python. Apprenez à programmer en python.
Typology: Study Guides, Projects, Research
1 / 266
This page cannot be seen from the preview
Don't miss anything!





























































































Licence Creative Commons 6 2. Dernière mise à jour le 7/01/
Apprenez à programmer en Python Par prolixe Mise à jour : 07/01/ Difficulté : Facile Ce tutoriel a pour but de vous initier au langage de programmation Python. Et comme le veut la coutume ici-bas, on démarre de zéro, dans la joie et la bonne humeur! La syntaxe claire et relativement intuitive de ce langage en fait un candidat idéal dans le cadre d'une introduction à la programmation. Ainsi, si vous n'avez jamais programmé en quelque langage que ce soit, si vous ne savez que très vaguement ce que cela signifie, Python est, me semble-t-il, un bon choix pour commencer votre apprentissage. Bonne lecture! Avantages de Python : facile à apprendre, à lire, à comprendre et à écrire ; portable (fonctionne sous de nombreux systèmes d'exploitation) ; adapté aussi bien pour des scripts, des petits ou gros projets ; doté d'une façade objet bien conçue et puissante ; possède une communauté active autour du langage ; et j'en passe… Un grand merci à 6pri1 pour sa relecture attentive et sa patience. Un merci tout aussi cordial à Nathan21 et Sergeswi qui ont fourni les icônes du tutoriel. Ce cours vous plaît? Si vous avez aimé ce cours, vous pouvez retrouver le livre " Apprenez à programmer en Python " du même auteur, en vente sur le Site du Zéro, en librairie et dans les boutiques en ligne. Vous y trouverez ce cours adapté au format papier avec une série de chapitres inédits. Plus d'informations
Une liste d'instructions? Qu'est-ce que c'est encore que cela? En schématisant volontairement, une instruction pourrait demander au programme de se fermer si vous cliquez sur la croix en haut à droite de votre écran, ou de rester en tâche de fond si tel est son bon plaisir. Toutefois, en langage machine, une telle action demande à elle seule un nombre assez important d'instructions. Mais bon, vous pouvez vous en douter, parler avec l'ordinateur en langage machine, qui ne comprend que le binaire, ce n'est ni très enrichissant, ni très pratique, et en tous cas pas très marrant. On a donc inventé des langages de programmation pour faciliter la communication avec l'ordinateur. Le langage binaire est uniquement constitué de 0 et de 1. « 01000010011011110110111001101010011011110111010101110010 », par exemple, signifie « Bonjour ». Bref, autant vous dire que discuter en binaire avec un ordinateur peut être long (surtout pour vous).
Les langages de programmation sont des langages bien plus faciles à comprendre pour nous, pauvres êtres humains que nous sommes. Le mécanisme reste le même, mais le langage est bien plus compréhensible. Au lieu d'écrire les instructions dans une suite assez peu intelligible de 0 et de 1, les ordres donnés à l'ordinateur sont écrits dans un « langage », souvent en anglais, avec une syntaxe particulière qu'il est nécessaire de respecter. Mais avant que l'ordinateur puisse comprendre ce langage, celui-ci doit être traduit en langage machine (figure suivante). En gros, le programmeur « n'a qu'à » écrire des lignes de code dans le langage qu'il a choisi, les étapes suivantes sont automatisées pour permettre à l'ordinateur de les décoder. Il existe un grand nombre de langages de programmation et Python en fait partie. Il n'est pas nécessaire pour le moment de donner plus d'explications sur ces mécanismes très schématisés. Si vous n'avez pas réussi à comprendre les mots de vocabulaire et l'ensemble de ces explications, cela ne vous pénalisera pas pour la suite. Mais je trouvais intéressant de donner ces précisions quant aux façons de communiquer avec son ordinateur.
Python est un langage de programmation, dont la première version est sortie en 1991. Créé par Guido van Rossum , il a voyagé du Macintosh de son créateur, qui travaillait à cette époque au Centrum voor Wiskunde en Informatica aux Pays-Bas, jusqu'à se voir associer une organisation à but non lucratif particulièrement dévouée, la Python Software Foundation , créée en 2001. Ce langage a été baptisé ainsi en hommage à la troupe de comiques les « Monty Python ».
Python est un langage puissant, à la fois facile à apprendre et riche en possibilités. Dès l'instant où vous l'installez sur votre ordinateur, vous disposez de nombreuses fonctionnalités intégrées au langage que nous allons découvrir tout au long de ce livre. Il est, en outre, très facile d'étendre les fonctionnalités existantes, comme nous allons le voir. Ainsi, il existe ce qu'on appelle des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Plusieurs bibliothèques peuvent ainsi être installées pour, par exemple, développer des interfaces graphiques en Python. Concrètement, voilà ce qu'on peut faire avec Python :
de petits programmes très simples, appelés scripts , chargés d'une mission très précise sur votre ordinateur ; des programmes complets, comme des jeux, des suites bureautiques, des logiciels multimédias, des clients de messagerie … des projets très complexes, comme des progiciels (ensemble de plusieurs logiciels pouvant fonctionner ensemble, principalement utilisés dans le monde professionnel). Voici quelques-unes des fonctionnalités offertes par Python et ses bibliothèques : créer des interfaces graphiques ; faire circuler des informations au travers d'un réseau ; dialoguer d'une façon avancée avec votre système d'exploitation ; … et j'en passe… Bien entendu, vous n'allez pas apprendre à faire tout cela en quelques minutes. Mais ce cours vous donnera des bases suffisamment larges pour développer des projets qui pourront devenir, par la suite, assez importants.
Eh oui, vous allez devoir patienter encore un peu car il me reste deux ou trois choses à vous expliquer, et je suis persuadé qu'il est important de connaître un minimum ces détails qui peuvent sembler peu pratiques de prime abord. Python est un langage de programmation interprété , c'est-à-dire que les instructions que vous lui envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture. D'autres langages (comme le C / C++) sont appelés « langages compilés » car, avant de pouvoir les exécuter, un logiciel spécialisé se charge de transformer le code du programme en langage machine. On appelle cette étape la « compilation ». À chaque modification du code, il faut rappeler une étape de compilation. Les avantages d'un langage interprété sont la simplicité (on ne passe pas par une étape de compilation avant d'exécuter son programme) et la portabilité (un langage tel que Python est censé fonctionner aussi bien sous Windows que sous Linux ou Mac OS, et on ne devrait avoir à effectuer aucun changement dans le code pour le passer d'un système à l'autre). Cela ne veut pas dire que les langages compilés ne sont pas portables, loin de là! Mais on doit utiliser des compilateurs différents et, d'un système à l'autre, certaines instructions ne sont pas compatibles, voire se comportent différemment. En contrepartie, un langage compilé se révélera bien plus rapide qu'un langage interprété (la traduction à la volée de votre programme ralentit l'exécution), bien que cette différence tende à se faire de moins en moins sentir au fil des améliorations. De plus, il faudra installer Python sur le système d'exploitation que vous utilisez pour que l'ordinateur puisse comprendre votre code.
Lors de la création de la Python Software Foundation, en 2001, et durant les années qui ont suivi, le langage Python est passé par une suite de versions que l'on a englobées dans l'appellation Python 2.x (2.3, 2.5, 2.6…). Depuis le 13 février 2009, la version 3.0.1 est disponible. Cette version casse la compatibilité ascendante qui prévalait lors des dernières versions. Compatibilité quoi? Quand un langage de programmation est mis à jour, les développeurs se gardent bien de supprimer ou de trop modifier d'anciennes fonctionnalités. L'intérêt est qu'un programme qui fonctionne sous une certaine version marchera toujours avec la nouvelle version en date. Cependant, la Python Software Foundation, observant un bon nombre de fonctionnalités obsolètes, mises en œuvre plusieurs fois… a décidé de nettoyer tout le projet. Un programme qui tourne à la perfection sous Python 2.x devra donc être mis à jour un minimum pour fonctionner de nouveau sous Python 3. C'est pourquoi je vais vous conseiller ultérieurement de télécharger et d'installer la dernière version en date de Python. Je m'attarderai en effet sur les fonctionnalités de Python 3 et certaines d'entre elles ne seront pas accessibles (ou pas sous le même nom) dans les anciennes versions. Ceci étant posé, tous à l'installation!
L'installation de Python est un jeu d'enfant, aussi bien sous Windows que sous les systèmes Unix. Quel que soit votre système d'exploitation, vous devez vous rendre sur le site officiel de Python.
Téléchargez la dernière version de Python. Ouvrez le fichier .dmg et faites un double-clic sur le paquet d'installation Python.mpkg Un assistant d'installation s'ouvre, laissez-vous guider : Python est maintenant installé!
Ouf! Voilà qui est fait! Bon, en théorie, on commence à utiliser Python dès le prochain chapitre mais, pour que vous soyez un peu récompensés de votre installation exemplaire, voici les différents moyens d'accéder à la ligne de commande Python que nous allons tout particulièrement étudier dans les prochains chapitres.
Vous avez plusieurs façons d'accéder à la ligne de commande Python, la plus évidente consistant à passer par les menus Démarrer > Tous les programmes > Python 3.2 > Python (Command Line). Si tout se passe bien, vous devriez obtenir une magnifique console (figure suivante). Il se peut que les informations affichées dans la vôtre ne soient pas les mêmes, mais ne vous en inquiétez pas. Qu'est-ce que c'est que cela? On verra plus tard. L'important, c'est que vous ayez réussi à ouvrir la console d'interprétation de Python, le reste attendra le prochain chapitre. Vous pouvez également passer par la ligne de commande Windows ; à cause des raccourcis, je privilégie en général cette méthode, mais c'est une question de goût. Allez dans le menu Démarrer, puis cliquez sur Exécuter. Dans la fenêtre qui s'affiche, tapez simplement « python » et la ligne de commande Python devrait s'afficher à nouveau. Sachez que vous pouvez directement vous rendre dans Exécuter en tapant le raccourci Windows + R. Pour fermer l'interpréteur de commandes Python, vous pouvez tapez « exit() » puis appuyer sur la touche Entrée.
Lorsque vous l'avez installé sur votre système, Python a créé un lien vers l'interpréteur sous la forme python3.X (le X étant le numéro de la version installée). Si, par exemple, vous avez installé Python 3.2, vous pouvez y accéder grâce à la commande : Code : Console $ python3. Python 3.2 (r32:88445, Mar 4 2011, 22:07:21) [GCC 4.3.3] on linux Type "help", "copyright", "credits" or "license" for more information.
Pour fermer la ligne de commande Python, n'utilisez pas CTRL + C mais CTRL + D (nous verrons plus tard pourquoi).
Cherchez un dossier Python dans le dossier Applications. Pour lancer Python, ouvrez l'application IDLE de ce dossier. Vous êtes prêts à passer au concret!
Python est un langage de programmation interprété, à ne pas confondre avec un langage compilé. Il permet de créer toutes sortes de programmes, comme des jeux, des logiciels, des progiciels, etc. Il est possible d'associer des bibliothèques à Python afin d'étendre ses possibilités. Il est portable, c'est à dire qu'il peut fonctionner sous différents systèmes d'exploitation (Windows, Linux, Mac OS X,…).
Eh oui, l'interpréteur parle en anglais et les instructions que vous saisirez, comme pour l'écrasante majorité des langages de programmation, seront également en anglais. Mais pour l'instant, rien de bien compliqué : l'interpréteur vous indique qu'il a trouvé un problème dans votre ligne d'instruction. Il vous indique le numéro de la ligne (en l'occurence la première), qu'il vous répète obligeamment (ceci est très utile quand on travaille sur un programme de plusieurs centaines de lignes). Puis il vous dit ce qui l'arrête, ici : SyntaxError : invalid syntax. Limpide n'est-ce pas? Ce que vous avez saisi est incompréhensible pour Python. Enfin, la preuve qu'il n'est pas rancunier, c'est qu'il vous affiche à nouveau une série de trois chevrons, montrant bien qu'il est prêt à retenter l'aventure. Bon, c'est bien joli de recevoir un message d'erreur au premier test mais je me doute que vous aimeriez bien voir des trucs qui fonctionnent, maintenant. C'est parti donc.
C'est assez trivial, quand on y pense, mais je trouve qu'il s'agit d'une excellente manière d'aborder pas à pas la syntaxe de Python. Nous allons donc essayer d'obtenir les résultats de calculs plus ou moins compliqués. Je vous rappelle encore une fois qu'exécuter les tests en même temps que moi sur votre machine est une très bonne façon de vous rendre compte de la syntaxe et surtout, de la retenir.
Vous avez pu voir sur notre premier (et à ce jour notre dernier) test que Python n'aimait pas particulièrement les suites de lettres qu'il ne comprend pas. Par contre, l'interpréteur adore les nombres. D'ailleurs, il les accepte sans sourciller, sans une seule erreur : **Code : Python Console
** 7 7
D'accord, ce n'est pas extraordinaire. On saisit un nombre et l'interpréteur le renvoie. Mais dans bien des cas, ce simple retour indique que l'interpréteur a bien compris et que votre saisie est en accord avec sa syntaxe. De même, vous pouvez saisir des nombres à virgule. **Code : Python Console
** 9.
Attention : on utilise ici la notation anglo-saxonne, c'est-à-dire que le point remplace la virgule. La virgule a un tout autre sens pour Python, prenez donc cette habitude dès maintenant. Il va de soi que l'on peut tout aussi bien saisir des nombres négatifs (vous pouvez d'ailleurs faire l'essai).
Bon, il est temps d'apprendre à utiliser les principaux opérateurs de Python, qui vont vous servir pour la grande majorité de vos programmes.
Pour effectuer ces opérations, on utilise respectivement les symboles +, -, * et /. Code : Python Console
Pourquoi ce dernier résultat approximatif? Python n'y est pas pour grand chose. En fait, le problème vient en grande partie de la façon dont les nombres à virgule sont écrits dans la mémoire de votre ordinateur. C'est pourquoi, en programmation, on préfère travailler autant que possible avec des nombres entiers. Cependant, vous remarquerez que l'erreur est infime et qu'elle n'aura pas de réel impact sur les calculs. Les applications qui ont besoin d'une précision mathématique à toute épreuve essayent de pallier ces défauts par d'autres moyens mais ici, ce ne sera pas nécessaire. Faites également des tests pour la soustraction, la multiplication et la division : il n'y a rien de difficile.
Si vous avez pris le temps de tester la division, vous vous êtes rendu compte que le résultat est donné avec une virgule flottante. **Code : Python Console
** 10 / 5
>>> 10 / 3
Il existe deux autres opérateurs qui permettent de connaître le résultat d'une division entière et le reste de cette division. Le premier opérateur utilise le symbole « // ». Il permet d'obtenir la partie entière d'une division. **Code : Python Console
** 10 // 3 3
L'opérateur « % », que l'on appelle le « modulo », permet de connaître le reste de la division. **Code : Python Console
** 10 % 3 1
Le monde merveilleux des variables Au chapitre précédent, vous avez saisi vos premières instructions en langage Python, bien que vous ne vous en soyez peut-être pas rendu compte. Il est également vrai que les instructions saisies auraient fonctionné dans la plupart des langages. Ici, cependant, nous allons commencer à approfondir un petit peu la syntaxe du langage, tout en découvrant un concept important de la programmation : les variables. Ce concept est essentiel et vous ne pouvez absolument pas faire l'impasse dessus. Mais je vous rassure, il n'y a rien de compliqué, que de l'utile et de l'agréable.
Les variables sont l'un des concepts qui se retrouvent dans la majorité (et même, en l'occurrence, la totalité) des langages de programmation. Autant dire que sans variable, on ne peut pas programmer, et ce n'est pas une exagération.
Une variable est une donnée de votre programme, stockée dans votre ordinateur. C'est un code alpha-numérique que vous allez lier à une donnée de votre programme, afin de pouvoir l'utiliser à plusieurs reprises et faire des calculs un peu plus intéressants avec. C'est bien joli de savoir faire des opérations mais, si on ne peut pas stocker le résultat quelque part, cela devient très vite ennuyeux. Voyez la mémoire de votre ordinateur comme une grosse armoire avec plein de tiroirs. Chaque tiroir peut contenir une donnée ; certaines de ces données seront des variables de votre programme.
Le plus simplement du monde. Vous allez dire à Python : « je veux que, dans une variable que je nomme age, tu stockes mon âge, pour que je puisse le retenir (si j'ai la mémoire très courte), l'augmenter (à mon anniversaire) et l'afficher si besoin est ». Comme je vous l'ai dit, on ne peut pas passer à côté des variables. Vous ne voyez peut-être pas encore tout l'intérêt de stocker des informations de votre programme et pourtant, si vous ne stockez rien, vous ne pouvez pratiquement rien faire. En Python, pour donner une valeur à une variable, il suffit d'écrire nom_de_la_variable = valeur. Une variable doit respecter quelques règles de syntaxe incontournables :
Sachez qu'on appelle cette étape l'affectation de valeur à une variable (parfois raccourci en « affectation de variable »). On dit en effet qu'on a affecté la valeur 21 à la variable mon_age. On peut afficher la valeur de cette variable en la saisissant simplement dans l'interpréteur de commandes. **Code : Python Console
** mon_age 21
Les espaces séparant « = » du nom et de la valeur de la variable sont facultatifs. Je les mets pour des raisons de lisibilité. Bon, c'est bien joli tout cela, mais qu'est-ce qu'on fait avec cette variable? Eh bien, tout ce que vous avez déjà fait au chapitre précédent, mais cette fois en utilisant la variable comme un nombre à part entière. Vous pouvez même affecter à d'autres variables des valeurs obtenues en effectuant des calculs sur la première et c'est là toute la puissance de ce mécanisme. Essayons par exemple d'augmenter de 2 la variable mon_age. **Code : Python Console
** mon_age = mon_age + 2 >>> mon_age 23
Encore une fois, lors de l'affectation de la valeur, rien ne s'affiche, ce qui est parfaitement normal. Maintenant, essayons d'affecter une valeur à une autre variable d'après la valeur de mon_age. **Code : Python Console
** mon_age_x2 = mon_age * 2 >>> mon_age_x 46
Encore une fois, je vous invite à tester en long, en large et en travers cette possibilité. Le concept n'est pas compliqué mais extrêmement puissant. De plus, comparé à certains langages, affecter une valeur à une variable est extrêmement simple. Si la variable n'est pas créée, Python s'en charge automatiquement. Si la variable existe déjà, l'ancienne valeur est supprimée et remplacée par la nouvelle. Quoi de plus simple? Certains mots-clés de Python sont réservés , c'est-à-dire que vous ne pouvez pas créer des variables portant ce nom. En voici la liste pour Python 3 : and del from none true