Premiers pas avec l'interpréteur de commandes Python

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Superman

V
Ancien staff
Dec 2, 2009
2,489
0
596
Où est-ce qu'on est, là ?

Pour commencer, je vais vous demander de retourner dans l'interpréteur de commandes Python (je vous ai montré, en fonction de votre système d'exploitation, comment y accéder à la fin du chapitre précédent).

Je vous rappelle donc les informations que vous avez dans cette fenêtre, même si elles pourront être bien différentes chez vous en fonction de votre version et de votre système d'exploitation.

Code : Console
Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>



Python vous souhaite à sa façon, la bienvenue dans son interpréteur de commandes.

Attends, attends, déjà, c'est quoi cet interpréteur ?


Vous vous souvenez (du moins je l'espère) dans le chapitre précédent, je vous ai donné une brève explication sur la différence entre langages compilés et langages interprétés. Et bien, cet interpréteur de commandes va nous permettre de tester directement du code. J'entre une ligne d'instruction, je fais entrée, je regarde ce que me dit Python (s'il me dit quelque chose), puis j'en entre une deuxième, une troisième... Cet interpréteur est particulièrement utile pour comprendre la base de Python et réaliser nos premiers petits programmes. Le principal inconvénient, en contre-partie, étant que le code que vous entrez n'est pas sauvegardé si vous ne le faites pas manuellement, mais chaque chose en son temps.

Dans la fenêtre que vous avez sous les yeux, l'information qui ne change pas d'un système d'exploitation à l'autre et qui est, somme toute, la plus importante, est la série des trois chevrons qui se trouvent en bas à gauche des informations ">>>". Ces trois signes signifient : je suis prêt à recevoir tes instructions.

Comme je l'ai dit, les langages de programmation respectent une syntaxe claire. On ne peut espérer que l'ordinateur comprenne si, dans cette fenêtre, vous commenciez à lui dire : j'aimerais que tu me codes un jeu vidéo génial
magicien.png
. Et autant que vous le sachiez tout de suite (bien qu'à mon avis vous vous en doutiez), on est très loin d'obtenir des résultats aussi spectaculaires à notre niveau.

Tout ça pour dire que si vous entrez n'importe quoi dans cette fenêtre, il est plus que probable que Python vous indique, clairement et fermement, qu'il n'a rien compris.

Si par exemple vous entrez "premier test avec Python", vous obtenez le résultat suivant :

Code : Python Console1
2
3
4
5
6
>>> premier test avec Python
File "<stdin>", line 1
premier test avec Python
^
SyntaxError: invalid syntax
>>>




Et oui, l'interpréteur parle en anglais, et les instructions que vous entrerez, comme une é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 donne la ligne (en l'occurence la première) qu'il vous répète obligemment (ceci est très utile quand on travaille sur un programme de plusieurs centaines de lignes) puis vous dit ce qui l'arrête, ici : SyntaxError: invalid syntax. Limpide n'est-ce pas ? Ce que vous avez entré est incompréhensible pour Python. Enfin, la preuve qu'il n'est pas rancunier, c'est qu'il vous réaffiche une série de trois chevrons, montrant bien qu'il est prêt à retenter l'aventure
langue.png
.

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 marchent, maintenant. C'est parti donc
pirate.png
.
Vos premières instructions : un peu de calcul mental pour l'ordinateur

C'est assez trivial, quand on y pense, mais je pense qu'il s'agit d'une excellente manière d'aborder pas à pas la syntaxe de Python. Nous allons donc essayer d'obtenir des résultats à des 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.

Entrer un nombre


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. Cependant, l'interpréteur adore les nombres. D'ailleurs, il les accepte sans sourciller, sans une seule erreur :

Code : Python Console1
2
3
>>> 7
7
>>>




D'accord, ce n'est pas extraordinaire. On entre un nombre, et l'interpréteur retourne ce nombre. Mais dans bien des cas, ce simple retour indique qu'il a bien compris et que ce que vous avez entré est en accord avec sa syntaxe. Vous pouvez de même entrer des nombres à virgule :

Code : Python Console1
2
3
>>> 9.5
9.5
>>>




Attention : on utilise ici la notation anglo-saxonne, le point remplace la virgule. La virgule a un tout autre sens pour Python, prenez donc cette habitude dès maintenant.


Les nombres à virgule se comportent parfois étrangement, c'est pourquoi il faut les manier avec prudence.

Code : Python Console1
2
3
>>> 8.13
8.1300000000000008
>>>




Euh... pourquoi ce 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, quand on le peut, on préfère travailler avec des nombres entiers. Cependant, vous remarquerez que l'erreur est infime et qu'elle n'a pas d'impact formidable sur les calculs. Les applications qui ont besoin d'une précision mathématique à toute épreuve essayent de corriger ces défauts par d'autres moyens, mais ici ce ne sera pas nécessaire
clin.png
.

Il va de soi que l'on peut tout aussi bien rentrer des nombres négatifs (vous pouvez faire l'essai d'ailleurs).

Opérations courantes


Bon, il est temps d'apprendre à utiliser les principaux opérateurs de Python qui vont vous servir pour la grande majorité de vos programmes.

Addition, soustraction, multiplication, division


Pour effectuer ces opérations, on utilise respectivement les symboles "+", "-", "*" et "/".

Code : Python Console1
2
3
4
5
6
7
>>> 3+4
7
>>> -2+93
91
>>> 9.5+2
11.5
>>>




Faites également des tests pour la soustraction, la multiplication et la division, il n'y a rien de difficile.

Division entière et modulo



Si vous avez pris le temps de tester la division, vous vous êtes rendu compte que le résultat est donné en virgule flottante.

Code : Python Console1
2
3
4
5
>>> 10/5
2.0
>>> 10/3
3.3333333333333335
>>>




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 est le signe "//". Il permet d'obtenir la partie entière d'une division.

Code : Python Console1
2
3
>>> 10//3
3
>>>




L'opérateur "%" que l'on appelle "modulo" permet de connaître le reste de la division :

Code : Python Console1
2
3
>>> 10%3
1
>>>




Cette notion de partie entière et de reste de division n'est pas bien difficile à comprendre et vous servira très probablement par la suite.

Si vous avez du mal à en saisir le sens, sachez donc que :


  • La partie entière de la division de 10 par 3 est le résultat de cette division, sans tenir compte des chiffres au-delà de la virgule (en l'occurence, 3).
  • Pour obtenir le reste de 10/3, on regarde quelle est la partie entière. Ici elle est de 3 (10//3 ). On multiplie cette partie entière par 3 (celui de 10/3) et on obtient... 9
    blink.gif
    . Entre 9 et 10, on a 1... et c'est le reste de notre division. Vous devriez retrouver ces chiffres facilement en posant la division sur papier.


Souvenez-vous bien de ces deux opérateurs, et surtout le modulo "%" dont vous aurez besoin dans vos programmes futurs.

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!