27. Variables

Vous souvenez-vous quand nous avions introduit des synonymes ? C'était dans la cinquième leçon, quand nous avions dit que nous pouvions apprendre à Reeborg à reconnaître d'autres langues. L' exemple que nous avions utilisé était le mot français pour "move".

avance = move

Des synonymes peuvent aussi être utilisés pour les nombres :

>>> n = 3
>>> print n
3
>>> 2*n
6
>>> n*n
9

Pas mal, non ? Maintenant, nous pouvons changer la valeur d'un synonyme quand c'est nécessaire.

>>> n = 3
>>> print n
3
>>> n = 2
>>> print n
2

Puisque la valeur d'un synonyme peut varier (changer), nous appelons cela une variable. Quand vous créez un synonyme, nous disons que vous affectez une valeur à une variable. Le symbole utilisé "=" devrait être lu "est un synonyme de" au lieu de "est égal à" comme vous avez l'habitude de le faire. C'est parce que si "n est égal à 2", alors certainement "2 est égal à n". Essayons pour voir ce que Python en fait.

>>> n = 2    # c'est bon
>>> 2 = n
SyntaxError: can't assign to literal

Si un symbole différent du signe égal existait sur les claviers normaux, comme

>>> n  3
>>> print n
3

alors il est très probable que Guido van Rossum, l'inventeur de Python, l'aurait utilisé à la place pour dire "est un synonyme de". Mais ce n'est pas le cas et nous devons donc utiliser le signe égal. Cela explique aussi pourquoi nous devons utiliser un double signe égal "==" quand nous voulons tester si deux nombres sont égaux.

Comme nous l'avons déjà vu rapidement ci-dessus, une fois qu'un nombre est affecté à une variable, cette variable peut être utilisée de la même façon que nous utiliserions un nombre. Par exemple :

>>> a = 1
>>> b = 2
>>> c = a + b
>>> print c
3

Ce que nous venons de voir devrait être assez facile à comprendre. Ce qui suit pourrait être un peu plus difficile à première vue :

>>> a = 1
>>> a = a + a # Étonnant ? >>> print a
2

Vous devez vous rappeler que "=" doit être lu "est un synonyme pour". Ainsi, la ligne "étonnante" devrait être comprise comme ceci :

  • Prendre ce qui est à droite du signe "=" [dans ce cas, a + a].
  • Calculer sa valeur [2 ; provient de l'addition 1 + 1].
  • Quelle que soit la réponse, la variable du côté gauche [a dans ce cas] est un synonyme pour la réponse.
  • Écrire tout cela comme je l'ai fait lui donne l'air compliqué. En fait, vous vous y habituerez rapidement et très bientôt cela ne vous étonnera plus du tout.

    Comme cette méthode pour changer la valeur d'une variable se rencontre très souvent, Python permet d'utiliser une notation "condensée" :

    >>> a = 1
    >>> a += 3 # même chose que "a = a + 3" >>> print a
    4

    >>> a -= 2 # même chose que "a = a - 2" >>> print a
    2

    >>> a *= 5 # même chose que "a = a * 5" >>> print a
    10

    >>> a /= 2 # même chose que "a = a/2" >>> print a
    5

    À votre tour

    Rappelez-vous combien il était difficile pour Reeborg d'additionner deux nombres en base 10 ? Juste pour vous rafraîchir la mémoire, nous aimerions que Reeborg puisse additionner deux nombres comme suit :

    3+2=5 3+2donne 5

    8+4=12 8+4donne 12

    Vous pouvez utiliser des variables pour faciliter la tâche. De cette manière, vous n'avez pas besoin d'utiliser un monde spécial, comme nous le devions avant, ni de faire transporter des sonnettes avec lesquelles commencer. Voici quelques suggestions :

    précédentInterpréter les mots-clés Python - début - Variables et fonctions.suivant