Une variable est un emplacement de la mémoire dans lequel est stockée une valeur. Chaque variable porte une nom et c’est ce nom qui sert à identifier l’emplacement de la mémoire représenté par cette variable.
Contrairement à d’autres langages (en particulier les langages compilés), il n’est pas nécessaire en Python de déclarer les variables.
Si on souhaite placer dans une variable
v
une valeur, on
utilise l’opérateur
=
. Par exemple,
v = 5 |
Cet extrait de code crée déclare une variable
v
, puis lui
affecte la valeur 5. Comme cette valeur est numérique, il ne
sera plus possible par la suite d’affecter une valeur non numérique
à
v
.
Il est possible d’appliquer des opérations arithmétiques pendant l’affectation :
+
)
-
)
*
)
/
)
//
, reste :
%
).
**
).
Par exemple,
v = 5 w = v + 1 z = v + w / 2 v = z % 3 v = v * 2 w = 5//2 z = z**2 |
Traduisons l’instruction
Saisir <variable>
que nous avons
vu en algorithmique. Pour récupérer la saisie d’un utilisateur et la
placer dans une variable
<variable>
, on utilise l’instruction
suivante :
<variable> = <type>(input()) |
Ne vous laissez pas impressionner par l’apparente complexité de cette
instruction, elle suspend l’exécution du programme jusqu’à ce que
l’utilisateur ait saisi une valeur et pressé la
touche return. La valeur saisie est alors affectée à la
variable
<variable>
.
<type>
est le type de la variable à laquelle on affecte la
valeur saisie.
Traduisons maintenant l’instruction
Afficher <variable>
:
print(<variable>) |
Cette instruction affiche la valeur contenue dans la variable
<variable>
. Nous avons étendu, en
algorithmique, l’instruction
Afficher
en intercalant des
valeurs de variables entre les messages affichés. Il est possible
de faire de même en Python :
print("la valeur de la variable v est", v) |
Les valeurs ou variables affichées sont ici séparés par des
,
. Tout ce qui est délimité par des double quotes est affiché
tel quel. Cette syntaxe s’étend à volonté :
print("les valeurs des variables x, y et z sont ", x, ", ", y, " et ", z) |
On utilise des variables de type
int
pour représenter
des entiers. Il est nécessaire de le préciser en particulier lors d’une
saisie. Par exemple, on saisit un
int
dans la variables
x
avec l’instruction suivante :
x = int(input()) |
Les flottants servent à représenter les réels. Leur nom vient du fait
qu’on les représente de façon scientifique : un nombre décimal (à
virgule) muni d’un exposant (un décalage de la virgule). Le type
servant à les représenter est
float
.
Notez bien le fait qu’un point flottant est un nombre avec lequel on peut "déplacer la virgule". Cela permet de représenter des valeurs très grandes ou très petites, mais au détriment de la précision. Nous examinerons dans les exercices les avantages et inconvénients des flottants.
Un littéral flottant s’écrit avec un point, par exemple
l’approximation à 10−2 près de π s’écrit
3.14
.
pi = 3.14 |
Il est aussi possible d’utiliser la notation
scientifique, par exemple le décimal 1 000 s’écrit
1e3
, à
savoir 1.103.
x = 1e3 |
Une chaîne de caractères, abrégé
str
,
est une succession de caractères (aucun, un ou
plusieurs). Les littéraux de ce type se délimitent par des
quotes (doubles ou simples), et l’instruction de saisie
s’écrit sans le
<type>
. Par exemple,
Lorsqu’une chaîne ne contient qu’un symbole,
elle contient en fait la code ASCII de ce symbole.
On récupère ce code avec la fonction
ord
.
Par exemple l’instruction suivante affecte à
code
le code du caractère
chaine
.
Réciproquement, on peut obtenir le caractère correspondant à
un code ASCII avec la fonction
chr
.
Par exemple l’instruction suivante affecte à
caractere
le symbole dont le code ASCII
est 100.
Le Python étant un langage de paresseux, tout à été fait pour que les programmeurs aient le moins de caractères possible à saisir. Je vous préviens : j’ai placé ce chapitre pour que soyez capable de décrypter la bouillie que pondent certains programmeurs, pas pour que vous les imitiez ! Alors vous allez me faire le plaisir de faire usage des formes contractées avec parcimonie, n’oubliez pas qu’il est très important que votre code soit lisible.
Toutes les affectations de la forme
variable = variable operateurBinaire expression
peuvent
être contractées sous la forme
variable operateurBinaire= expression
. Par exemple,
avant | après |
a = a + b |
a += b |
a = a - b |
a -= b |
a = a * b |
a *= b |
a = a / b |
a /= b |
a = a % b |
a %= b |
a = a >> i |
a >>= i |
a = a << i |
a <<= i |
a = a & b |
a &= b |
a = a ^ b |
a ^= b |
a = a | b |
a |= b |
Vous vous douterez que l’égalité ne peut pas être contractée...