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 :
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 :
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 :
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 :
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,returnet quelques dizaines d'autres).
Donc ceux-ci sont valides :
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_casepour les variables et fonctions courantes :retry_count,fetch_profile.UPPER_SNAKE_CASEpour les constantes :MAX_RETRIES = 5.PascalCasepour 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 :
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 :
Ou de déballer plusieurs valeurs d'un coup :
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 = valeurcré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.