Apprentissage de la programmation avec Python

Notes de cours pour l’apprentissage de la programmation avec Python

Premières instructions

Calculer avec Python

Python2 présente la particularité de pouvoir être utilisé de plusieurs manières.
Nous allons d’abord l’utiliser en mode interactif, c.à.d. d’une manière telle que nous pourrons dialoguer avec lui directement depuis le clavier. Cela nous permettra de découvrir très vite un grand nombre de fonctionnalités du langage. Dans un second temps, nous verrons comment créer nos premiers programmes (scripts) et les sauvegarder.
L’interpréteur peut être lancé directement depuis la ligne de commande (sousLinux, M$DOS) :
il suffit d’y taper la commande « python » (en supposant que le logiciel ait été correctement installé). Si vous utilisez une interface graphique telle que Window$, Gnome ou KDE, vous préférerez vraisemblablement travailler dans une « fenêtre de terminal », ou encore dans un environnement de travail spécialisé tel queIDLE. Dans ce cas vous devriez disposer d’une icône de lancement pour Python sur votre bureau. Si ce n’est pas le cas, demandez à votre professeur comment procéder pour en installer une3.
Au démarrage de l’interpréteur, vous obtenez un message d ‘introduction tel que celui-ci :
Python 1.5.2 (#0, Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)] on win32 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>>
Les trois caractères « supérieur à » constituent le signal d’invite, ouprompt principal, lequel vous indique que Python est prêt à exécuter une commande. Par exemple, vous pouvez tout de suite utiliser l’interpréteur comme une simple calculatrice de bureau. Veuillez donc vous-même tester les commandes ci-dessous (Prenez l’habitude d’utiliser votre cahier d’exercices pour noter les résultats qui apparaissent à l’écran) :
>>> 5+3
>>> 2 – 9 # les espaces sont optionnels
>>> 7 + 3 * 4 # la hiérarchie des opérations mathématiques
est-elle respectée ?
>>> (7+3)*4
>>> 20 / 3 # surprise !!!
Comme vous pouvez le constater, les opérateurs arithmétiques pour l’addition, la soustraction, la multiplication et la division sont respectivement +, -, * et /. Les parenthèses sont fonctionnelles.
Par défaut, la division est cependant unedivision entière, ce qui signifie que si on lui fournit des arguments qui sont des nombres entiers, le résultat de la division est lui-même un entier (tronqué), comme dans le dernier exemple ci-dessus.
2 Pour ce guide de travail, nous nous sommes inspirés de divers textes, dont le tutoriel original de Python, écrit par Guido Van Rossum lui-même (l’auteur de Python), et dont une traduction française existe. Nous avons également puisé dans An introduction to Tkinter par Fredrik Lundh. Ces documents et beaucoup d’autres sont librement téléchargeables au départ du site web officiel de Python : http://www.python.org.
3 Sous Window$, vous aurez surtout le choix entre l’environnement IDLE développé par Guido Van Rossum, auquel nous donnons nous-même la préférence, etPythonWin, une interface de développement développée par Mark Hammond. Pour tout renseignement complémentaire, veuillez consulter le site de Python.
Si vous voulez qu’un argument soit compris par Python comme étant un nombre réel, il faut le lui faire savoir, en fournissant au moins un point décimal4. Essayez par exemple :
>>> 20.0 / 3 # (comparez le résultat avec celui obtenu à l’exercice précédent)
>>> 8./5
Si une opération est effectuée avec des arguments de types mélangés (entiers et réels), Python convertit automatiquement les opérandes en réels avant d’effectuer l’opération. Essayez :
>>> 4 * 2.5 / 3.3

Utilisation de variables

Nous reviendrons plus loin sur les différents types de données numériques. Mais avant cela, nous pouvons dès à présent aborder un concept essentiel.
La programmation d’un ordinateur – à l’aide d’un langage quelconque – fait abondamment usage d’un grand nombre de variables de différents types. Une variable apparaît dans un langage de programmation sous un nom de variable à peu près quelconque (voir ci-après), mais pour l’ordinateur il s’agit d’une simple étiquette reliée à uneadresse mémoire, c.à.d. un emplacement précis dans la mémoire vive.
A cet emplacement est stocké unevaleur bien déterminée. Cette valeur n’est pas nécessairement une valeur numérique. Cela peut être en fait à peu près n’importe quel « objet » susceptible d’être placé dans la mémoire d’un ordinateur, comme par exemple : un nombre entier, un nombre réel, un vecteur, un nombre complexe, une chaîne de caractères typographiques, un tableau, une fonction, etc.
Toutes ces valeurs doivent évidemment être d’abord encodées sous la forme d’un certain nombre d’octets (Voir cours d’informatique générale). Étant donnée la grande variété des contenus possibles, il a fallu définir conventionnellement différentstypes de variables. Nous y reviendrons plus loin.
4 Dans tous les langages de programmation, les conventions mathématiques de base sont celles en vigueur dans les pays anglophones : le séparateur décimal sera donc toujours un point, et non une virgule comme chez nous.
Dans le monde de l’informatique, les nombres réels sont souvent désignés comme des nombres « à virgule flottante », ou encore des nombres « de type float ».

Noms de variables et mots réservés

Les noms de variables que vous utilisez sous Python doivent obéir à quelques règles simples :
Un nom de variable est une séquence de lettres (a z , A  Z) et de chiffres (0  9), qui doit toujours commencer par une lettre.
Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les espaces, les caractères spéciaux tels que $, #, @, etc. sont interdits, à l’exception du caractère _ (souligné).
La casse est significative (c.à.d. que les caractères majuscules et minuscules sont distingués). Attention : Joseph, joseph, JOSEPH sont donc des variables différentes. Soyez attentifs !
Prenez l’habitude d’écrire l’essentiel des noms de variables en caractères minuscules (y compris la première lettre5). N’utilisez les majuscules qu’à l’intérieur même du nom, pour en augmenter éventuellement la lisibilité, comme dans table Des Matieres, par exemple.

Affectation (ou assignation)

Maintenant que nous savons comment définir un nom de variable, voyons comment yaffecter une valeur. Les termes « affecter une valeur » ou « assigner une valeur » à une variable sont équivalents. Ils désignent l’opération par laquelle on établit un lien entre le nom de la variable et son contenu. L’instruction d’affectation la plus commune sous Python utilise le signe « égale » :
>>> n = 7 # donner à n la valeur 7
>>> msg = « Quoi de neuf ? » # affecter la valeur « Quoi de neuf ? » à msg
>>> pi = 3.14159 # assigner sa valeur à la variable pi
Les exemples ci-dessus illustrent des instructions d’affectation Python tout à fait classiques.
Après qu’on les ait exécutées, il existe dans la mémoire de l’ordinateur, à des endroits différents :
trois noms de variables, à savoir n, msg et pi
trois séquences d’octets, où sont encodées le nombre entier7, la chaîne de caractères Quoi de neuf ? et le nombre réel3,14159.
5 Les noms commençant par une majuscule ne sont pas interdits, mais il est d’usage de les réserver aux variables qui désignent desclasses (le concept de classe sera étudié plus loin).
G.Swinnen – A.Downey – J.Elkner : Cours de programmation avec Python – Page 15
Les trois instructions d’affectation ci-dessus ont eu pour effet, à la fois de créer les noms des 3 variables, de leur attribuer un type, et d’établir un lien symbolique (par un système interne de pointeurs) entre le nom de chaque variable et la valeur correspondante.
Les trois noms de variables sont mémorisés dans une zone particulière de la mémoire que l’on appelle « espace de noms ». Nous aurons plus loin l’occasion de revenir sur ce concept.

Afficher la valeur d’une variable

A la suite de l’exercice ci-dessus, nous disposons donc des trois variables n, msg et pi.
Pour afficher leur valeur, il existe deux possibilités. La première consiste simplement à entrer au clavier le nom de la variable (suivi de <Enter>). Python répond en affichant la valeur :
>>> n
7
>>> msg
« Quoi de neuf ? »
>>> pi
3.14159
Il s’agit là seulement d’une fonctionnalité secondaire de l’interpréteur, destinée à vous faciliter la vie lorsque vous faites de simples exercices à la ligne de commande. A l’intérieur d’un programme, vous utiliserez toujours l’instruction print :
>>> print msg Quoi de neuf ?
Remarquez la subtile différence dans les affichages obtenus avec chacune des deux méthodes. L’instruction print n’affiche strictement que la valeur de la variable, telle qu’elle a été encodée, alors que l’autre méthode (celle qui consiste à entrer seulement le nom de la variable) affiche aussi des guillemets (pour vous rappeler le type de la variable : nous y reviendrons).

Typage des variables

Sous Python, il n’est pas nécessaire d’écrire des lignes de programme spécifiques pour définir le type des variables avant de pouvoir les utiliser. Il vous suffit en effet d’assigner une valeur à un nom de variable pour que celle-ci soit automatiquement créée avec le type qui correspond au mieux à la valeur fournie. Dans l’exercice précédent, par exemple, les variablesn, msg et pi ont été créées automatiquement chacune avec un type différent (« nombre entier » pour n, « chaîne de caractères » pour msg, « nombre à virgule flottante » (ou  » float », en anglais) pour pi).
Ceci constitue une particularité intéressante de Python, qui le distingue de nombreux autres langages. On dira à ce sujet que le typage sous Python est un typage dynamique, par opposition au typage statique qui est de règle par exemple en C++ ou en Java. Dans ces langages, il aurait fallu
– par des instructions distinctes – d’abord définir le nom et le type des variables, et ensuite leur assigner un contenu compatible.
Exercice :
e 1. Décrivez le plus clairement et le plus complètement possible ce qui se passe à chacune des trois lignes de l’exemple ci-dessous :
>>> largeur = 20
>>> hauteur = 5 * 9.3
>>> largeur * hauteur
930

Affectations multiples

Sous Python, on peut assigner une valeur à plusieurs variables simultanément. Exemple :
>>> x = y = 7
>>> x
7
>>> y
7
On peut aussi effectuer de multiples affectations à l’aide d’un seul opérateur :
>>> a, b = 4, 8.33
>>> a
4
>>> b
8.33
Dans cet exemple, les variables a et b prennent simultanément les nouvelles valeurs 4 et 8,33.
Attention : les francophones que nous sommes avons l’habitude d’utiliser la virgule comme séparateur décimal, alors que les langages de programmation utilisent toujours la convention en vigueur dans les pays de langue anglaise, c.à.d. le point décimal. La virgule, quant à elle, est utilisée dans Python pour séparer différents éléments (arguments, etc.) comme on le voit dans notre exemple pour les variables elles-mêmes ainsi que pour les valeurs qu’on leur attribue.
Exercice :
e 2. Assignez les valeurs respectives 3, 5, 7 à trois variables a, b, c.
Effectuez l’opération a – b/c . Le résultat est-il mathématiquement correct ?
Si ce n’est pas le cas, comment devez-vous procéder pour qu’il le soit ?

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *