Définition
En programmation, une variable est un espace de stockage nommé en mémoire qui permet de conserver une valeur. L'affectation est l'opération qui consiste à donner une valeur à une variable. En Python, l'affectation se fait à l'aide du signe égal ($=$).
Méthode : Variables et affectation en Python
Choisir un nom de variable
Le nom doit être explicite et respecter les règles de nommage de Python (commencer par une lettre ou un underscore, ne contenir que des lettres, chiffres ou underscores, ne pas être un mot-clé réservé). Par exemple : age, prix_unitaire, _compteur.
Affecter une valeur
Utiliser l'opérateur d'affectation $=$ pour associer une valeur à la variable. La valeur peut être un nombre (entier ou décimal), une chaîne de caractères, un booléen, etc. Par exemple : age = 16, prix = 12.50, nom = "Alice".
Utiliser la variable
Une fois affectée, la variable peut être utilisée dans des calculs, des affichages ou d'autres opérations. La valeur stockée est celle qui a été affectée en dernier. Par exemple : print(age), total = prix * quantite.
Modifier la valeur d'une variable
Il est possible de changer la valeur d'une variable en lui affectant une nouvelle valeur. La nouvelle valeur remplace l'ancienne. Par exemple : compteur = 0 puis compteur = compteur + 1.
Exemple résolu
prix_initial et on lui affecte la valeur $50$.prix_initial = 50taux_remise et on lui affecte la valeur $0{,}10$ (pour $10$%).taux_remise = 0.10montant_remise.montant_remise = prix_initial * taux_remiseAprès cette ligne, montant_remise contient $50 × 0{,}10 = 5{,}0$.prix_final.prix_final = prix_initial - montant_remiseAprès cette ligne, prix_final contient $50 - 5 = 45{,}0$.print() pour afficher la valeur de prix_final.print(prix_final)45.0Piège fréquent en Seconde : Confusion entre $=$ et $==$
- L'opérateur $=$ est utilisé pour l'affectation (donner une valeur à une variable). Par exemple :
x = 5. - L'opérateur $==$ est utilisé pour la comparaison (vérifier si deux valeurs sont égales). Il renvoie
TrueouFalse. Par exemple :if x == 5:. - Utiliser $==$ au lieu de $=$ pour une affectation provoque une erreur de syntaxe. Utiliser $=$ au lieu de $==$ dans une condition peut modifier la variable au lieu de la tester.
Exercice type contrôle
Écrire un programme Python qui :- Demande à l'utilisateur son prénom et le stocke dans une variable
prenom. - Demande à l'utilisateur son âge et le stocke dans une variable
age. - Calcule l'année de naissance approximative de l'utilisateur (en considérant que l'année actuelle est $2024$) et la stocke dans une variable
annee_naissance. - Affiche un message du type : "Bonjour [prénom], vous êtes né(e) en [année de naissance]."
# 1. Demander le prénom et l'affecter à la variable 'prenom'
prenom = input("Quel est votre prénom ? ")
# 2. Demander l'âge, le convertir en entier et l'affecter à la variable 'age'
age_str = input("Quel est votre âge ? ")
age = int(age_str)
# 3. Calculer l'année de naissance approximative
annee_actuelle = 2024
annee_naissance = annee_actuelle - age
# 4. Afficher le message
print("Bonjour ", prenom, ", vous êtes né(e) en ", annee_naissance, ".")
Explication :- La fonction
input()permet de demander une valeur à l'utilisateur. Elle renvoie toujours une chaîne de caractères. - Pour effectuer des calculs avec l'âge, il est nécessaire de le convertir en nombre entier à l'aide de la fonction
int(). - La variable
annee_actuelleest initialisée à $2024$. - La variable
annee_naissanceest calculée par soustraction. - La fonction
print()peut afficher plusieurs éléments séparés par des virgules ; elle ajoute un espace entre chaque élément par défaut.
Questions fréquentes
Quels types de valeurs une variable peut-elle stocker ?
int, ex: $5$), des nombres décimaux (float, ex: $3{,}14$), des chaînes de caractères (str, ex: "Bonjour"), des booléens (bool, True ou False), et bien d'autres types plus complexes.Peut-on changer le type d'une variable en Python ?
x = 10), puis une chaîne de caractères (x = "texte"), le type de x change automatiquement.Est-il obligatoire de déclarer le type d'une variable avant de l'utiliser ?
Que se passe-t-il si j'utilise une variable sans lui avoir affecté de valeur ?
NameError, indiquant que le nom de la variable n'est pas défini. Il faut toujours affecter une valeur à une variable avant de l'utiliser.Pour aller plus loin
Le passage en Seconde est difficile ?
Adil accompagne les élèves de Seconde, à domicile dans le Val d'Oise ou en ligne. Un seul prof, du premier cours jusqu'au Bac.