Seconde - Python - Variables - Cours

Notion de variable - Affectation

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 :

nom = valeur

Le nom d’une variable doit respecter les règles suivantes :

and as assert break class continue def del elif else except false finally for from in is lambda none nonlocal not or pass raise return true try while with yield

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 :

a = 42

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 .

a = 42 print(a)

Une variable peut également se définir par un calcul, comme par exemple :

b = 3*2 - 1

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 ?

a = 3 b = 5 c = a**2 + b**2

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 ?

a = 3 a = a + 7 a = a / 2

Type d'une variable

Variables numériques

Essayez de deviner le résultat du programme suivant, puis éxecutez-le :

a = 5 * 2 b = 60 / 6 print(a) print(b)

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.

>>> print(1/3) 0.3333333333333333

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 :

from math import pi

Grâce à cette commande, on importe la variable pi depuis le module math, et on peut alors l'utiliser.

from math import pi print(pi)

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.

Chaînes de caractères

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.

mot = "Bonjour" phrase = "Voici une phrase avec six mots"

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.

mot = "Bonjour" prenom = "Alice" print(mot + prenom)

Impossible cependant d’ajouter une chaîne de caractères et un nombre. Vous pouvez essayer, mais ça va planter !

chaine = "Bonjour" nombre = 37 print(chaine + nombre)

Cependant, le programme suivant ne plantera pas, car la variable nombre n'est alors plus un entier mais une chaîne de caractères !

chaine = "Bonjour" nombre = "37" print(chaine + nombre)

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.

chaine = "pa" longueChaine = chaine * 10 print(longueChaine)

Compléments

Affectation multiple

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 :

a,b = 2,3

Opérations rapides

Pour multiplier la valeur d'une variable par 2, on peut faire :

a = a * 2

Python permet d'écrire cette opération plus rapidement de la manière suivante :

a *= 2

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.

Des variables dans une chaîne de caractères

Pour afficher la valeur d'une variable ou d'un calcul dans une chaîne de caractères, on peut utiliser la syntaxe suivante :

print(f"Le résultat de 3*4 est {3*4}")

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 !

Dernière mise à jour : 04 Nov. 2022, 19:13:15