Une variable est une zone de la mémoire de l'ordinateur dans laquelle une valeur est stockée. Aux yeux du programmeur, cette variable est définie par un nom, alors que pour l'ordinateur, il s'agit en fait d'une adresse indiquant où est stockée cette valeur dans la mémoire.
En Python, on déclare une variable en lui affectant une valeur, selon la syntaxe suivante :
Le nom d’une variable doit respecter les règles suivantes :
De plus, Python est sensible à la casse, ce qui signifie que Python distingue les lettres minuscules et majuscules. Ainsi, deux variables nommées variable et Variable seront différentes.
Définissons notre première variable, nommée a, affectée de la valeur 42. Il suffit d'exécuter le code suivant :
Le programme précédent n’affiche rien, mais Python connaît désormais la variable a, dont la valeur est 42.
Pour afficher la valeur de notre variable, on utilise la commande print que vous connaissez déjà, suivie du nom de la variable .
Une variable peut également se définir par un calcul, comme par exemple :
On peut même définir la valeur d'une variable en fonction des valeurs d'autres variables. Sauriez-vous trouver la valeur de c dans le programme suivant ?
Affichez la valeur de c en rajoutant print(c) à la fin du programme pour vérifier !
Encore mieux : on peut changer la valeur d'une variable au cours du programme, en utilisant sa valeur actuelle.
Pouvez-vous trouver la valeur de a à la fin du programme ci-dessous ?
Essayez de deviner le résultat du programme suivant, puis éxecutez-le :
On s'attend à ce que les valeurs de a et b soient identiques, mais ce n'est pas le cas.
Pour Python, les variables a et b sont de types différents :
Python ne connaît que ces deux types de nombres. Il ne fait aucune différence entre nombre entier naturel et relatif, nombre décimal, rationnel ou irrationnel. Tout nombre qui n’est pas entier est considéré comme flottant.
Tout nombre non décimal, comme $\frac{1}{3}$, sera donné de façon approximative, généralement avec 15 chiffres significatifs.
Dans le code ci-dessus, les chevrons >>> indiquent quelle commande est éxecutée. La ligne suivante correspond au résultat.
Chaque variable possède donc 3 caractéristiques :
La valeur et le type peuvent changer au cours du programme, mais une variable ne peut pas avoir 2 valeurs différentes en même temps ou être de 2 types différents.
Python connaît-il le nombre $\pi$ ?
Oui, une valeur approchée de $\pi$ est stockée dans la variable pi, mais cette variable n'est pas directement accessible. Plus précisemment, cette variable est enregistrée dans un module, une sorte de dossier contenant des variables et des instructions que l'on utilise souvent. Ce module se nomme math, et contient tout un tas de variables utiles pour faire des mathématiques avec Python.
Pour utiliser la variable pi, il faut au préalable aller la chercher dans le module math, avec la commande suivante :
Grâce à cette commande, on importe la variable pi depuis le module math, et on peut alors l'utiliser.
Si vous retirez la ligne de code from math import pi, alors le programme affichera une erreur.
Enfin, sachez que le module math ne contient pas que le nombre $\pi$. Nous y reviendrons dans le prochain chapitre.
Une variable ne contient pas forcément une valeur numérique. Elle peut également contenir une chaîne de caractères, autrement dit du texte. Comme nous l'avons déjà vu, une chaîne de caractères se définit entre apostrophes ou entre guillemets.
De telles variables sont de type str (abréviation de string pour chaîne en anglais).
On peut additionner des chaînes de caractères : cette opération se nomme la concaténation.
Concaténer deux chaînes de caractères, c'est les mettre bout à bout pour n'en former qu'une seule.
Impossible cependant d’ajouter une chaîne de caractères et un nombre. Vous pouvez essayer, mais ça va planter !
Cependant, le programme suivant ne plantera pas, car la variable nombre n'est alors plus un entier mais une chaîne de caractères !
Par contre, on peut multiplier une chaîne par un nombre entier $n$. Ceci aura pour effet de concaténer $n$ fois la chaîne avec elle même.
Il est possible de définir plusieurs variables sur une ligne, en séparant les noms et les valeurs par des virgules. Par exemple, pour définir simultanément deux variables a et b avec les valeurs 2 et 3, on écrit :
Pour multiplier la valeur d'une variable par 2, on peut faire :
Python permet d'écrire cette opération plus rapidement de la manière suivante :
L'opération à effectuer est placée avant le signe égal, et le terme à multiplier (ou ajouter, ou diviser... selon l'opération choisie) se trouve après le signe égal.
Pour afficher la valeur d'une variable ou d'un calcul dans une chaîne de caractères, on peut utiliser la syntaxe suivante :
On place entre accolades le calcul à effectuer dans le chaîne de caractères, sans oublier de rajouter la lettre f avant le premier guillemet !