Menu
Français

Variables en Python : comment les déclarer, les affecter et les nommer

Comment fonctionnent les variables en Python — affectation, règles de nommage, réaffectation, et le modèle mental qui t'évite les ennuis.

Une variable est un nom

Une variable en Python, c'est un nom que tu épingles à une valeur. Tu écris le nom, un signe égal, et la valeur :

main.py
Output
Click Run to see the output here.

Trois variables, trois valeurs, trois types. Python les garde volontiers côte à côte, et tu n'as rien eu à lui dire sur le genre de valeurs qu'elles étaient. La valeur va après le = ; le nom va avant.

Une fois qu'une variable existe, tu peux l'utiliser partout où tu utiliserais la valeur elle-même :

main.py
Output
Click Run to see the output here.

Les noms rendent l'avant-dernière ligne auto-descriptive. C'est le vrai gain avec de bons noms de variables — du code qui se lit comme une explication.

L'affectation n'est pas des maths

Une chose qui attrape les gens venant des cours de maths : = en Python ne veut pas dire « égal ». Ça veut dire « affecter ». Autrement dit : « prends la valeur après le =, et épingle-la au nom qui est avant ». Python évalue la valeur d'abord, puis fait l'affectation.

Donc ceci est parfaitement légal :

main.py
Output
Click Run to see the output here.

La ligne count = count + 1 ne prétend pas que count est égal à count plus un (mathématiquement impossible). Elle dit : calcule count + 1, puis affecte le résultat à count. Python évalue d'abord l'expression — 0 + 1, ce qui donne 1 — et ensuite seulement met la variable à jour.

Tu écriras count = count + 1 assez souvent pour que Python ait un raccourci : count += 1 fait la même chose.

La réaffectation change l'étiquette, pas la valeur

Une variable peut pointer vers une valeur différente à tout moment. L'ancienne valeur n'est pas modifiée — la variable se met simplement à désigner autre chose :

main.py
Output
Click Run to see the output here.

Remarque cette dernière ligne. mood contient une chaîne pendant deux lignes puis contient soudain un entier. Python ne s'est pas plaint. C'est le typage dynamique — les variables n'ont pas de type fixe, seules les valeurs en ont. Cette flexibilité est utile quand on prototype et pénible quand une variable change de sens à l'intérieur d'une fonction sans que tu t'en aperçoives. La bonne habitude, c'est de choisir un nom qui correspond à ce que représente la valeur, puis de garder la variable pour représenter cette seule chose pendant toute sa vie.

Les règles pour les noms de variables

Python accepte les noms qui :

  • Commencent par une lettre ou un underscore (_).
  • Contiennent des lettres, des chiffres et des underscores.
  • Ne sont pas un mot-clé réservé (if, for, class, return et quelques dizaines d'autres).

Donc ceux-ci sont valides :

main.py
Output
Click Run to see the output here.

Et ceux-ci ne le sont pas :

  • 2nd_user — ne peut pas commencer par un chiffre.
  • user-name — les traits d'union ne sont pas autorisés (Python les lit comme une soustraction).
  • class — mot-clé réservé.
  • user name — pas d'espaces dans les noms.

Les noms sont sensibles à la casse, comme tu le sais déjà : total, Total et TOTAL sont trois variables différentes. Python ne repérera pas la faute de frappe à ta place.

Conventions de nommage

Au-delà des règles strictes, la communauté Python a des conventions — non imposées par l'interpréteur, mais universelles dans l'écosystème :

  • lower_snake_case pour les variables et fonctions courantes : retry_count, fetch_profile.
  • UPPER_SNAKE_CASE pour les constantes : MAX_RETRIES = 5.
  • PascalCase pour les noms de classes (on y viendra plus tard).
  • Underscore au début (_something) est un indice qu'un nom est censé être privé. Pas imposé — juste une convention.
  • Underscore à la fin (class_) te permet d'utiliser un nom qui entrerait sinon en conflit avec un mot-clé.

Tiens-t'y et ton code ressemblera au Python que les autres ont écrit.

Les noms doivent décrire le sens

Un nom de variable est gratuit à taper mais coûteux à lire. Dépenser deux caractères de plus pour choisir un nom qui décrit vraiment ce que la valeur signifie épargne beaucoup de plissements d'yeux aux futurs lecteurs (généralement le toi du futur).

Compare :

main.py
Output
Click Run to see the output here.

Même code, même réponse — mais seule la deuxième version te dit ce qui se passe. Les noms courts (i, n, x) sont très bien dans de très petites portées comme les compteurs de boucle, mais en dehors de ça, étale les mots.

Affectation multiple (à utiliser avec parcimonie)

Python te permet d'affecter la même valeur à plusieurs variables sur une seule ligne :

main.py
Output
Click Run to see the output here.

Ou de déballer plusieurs valeurs d'un coup :

main.py
Output
Click Run to see the output here.

Les deux conviennent quand ça rend le code plus clair (comme déballer la valeur de retour d'une fonction). La première forme — = = = enchaînés — mérite un moment d'attention : les trois variables finissent par désigner le même objet, ce qui compte pour les types mutables comme les listes (on y reviendra plus tard).

Ce qu'il faut retenir

  • nom = valeur crée une variable.
  • Les variables n'ont pas de types ; les valeurs, si.
  • Les noms suivent quelques règles strictes et beaucoup de conventions souples — les deux méritent d'être respectées.
  • Un nom descriptif est la forme la moins coûteuse de documentation.

Ensuite : quels types de valeurs Python prend vraiment en charge — entiers, flottants, chaînes, booléens, et pourquoi il est utile de savoir lequel est lequel.

Questions fréquentes

Comment créer une variable en Python ?

Choisis un nom, mets un = après, et place une valeur à droite. age = 30 crée une variable nommée age avec la valeur 30. Python détermine le type automatiquement — tu ne le déclares pas.

Quelles sont les règles pour nommer les variables Python ?

Un nom peut contenir des lettres, des chiffres et des underscores, mais ne peut pas commencer par un chiffre. Il ne peut pas être un mot-clé Python comme if ou class. Les noms sont sensibles à la casse : total, Total et TOTAL sont trois variables différentes. La convention de la communauté, c'est lower_snake_case.

Une variable Python peut-elle changer de type ?

Oui. Python est à typage dynamique, donc une variable qui contient un nombre à un moment peut contenir une chaîne l'instant d'après. Cette flexibilité est pratique mais peut te surprendre — si le sens d'une variable change au milieu d'une fonction, c'est généralement le signe qu'il faut choisir un nouveau nom.

Apprendre à coder avec Coddy

COMMENCER