Tu as déjà regardé du code Python en te disant « ça a l’air simple ». Puis tu as essayé d’écrire le tien, et tu t’es arrêté à la deuxième ligne sans comprendre pourquoi ça ne marche pas.

Ce n’est pas toi qui as un problème. C’est la notion de variable, que la plupart des cours expédient en trois secondes alors que tout le reste en dépend. Si tu comprends vraiment cette idée, la suite devient logique. Si tu la survoles, tu vas recopier du code sans jamais savoir ce que tu fais.

Une variable, c’est une boîte avec une étiquette

Imagine une étagère couverte de boîtes. Sur chacune, tu colles une étiquette : prix, prénom, compteur. À l’intérieur, tu ranges une valeur.

Quand tu as besoin de cette valeur plus tard, tu ne fouilles pas l’étagère : tu appelles l’étiquette. En Python, c’est exactement ça. Une variable n’est pas le contenu de la boîte, c’est le nom que tu donnes à un endroit de la mémoire de l’ordinateur. Tu ne manipules jamais cette mémoire directement — tu passes toujours par le nom.

C’est important, parce que cette image explique tout ce qui suit : pourquoi on peut changer le contenu sans changer le nom, pourquoi deux boîtes peuvent contenir la même chose sans être la même boîte, et pourquoi utiliser un nom qui n’existe pas provoque une erreur.

Créer une variable : une seule ligne suffit

prix = 29
prenom = "Adam"
est_inscrit = True
print(prix)

Résultat affiché :

29

Trois choses à retenir de ces trois lignes.

  • Le signe = ne veut pas dire « égal à ». Il veut dire « range cette valeur dans une boîte qui s’appelle désormais… ». On lit la ligne de droite à gauche : la valeur existe d’abord, le nom vient ensuite.
  • Les guillemets autour de « Adam » ne sont pas décoratifs. Ils indiquent que c’est du texte. Sans eux, Python chercherait une variable nommée Adam et ne la trouverait pas.
  • True s’écrit avec une majuscule. C’est une valeur qui signifie « vrai », et non un mot que tu as inventé.

Ce que contient vraiment la boîte : les types

Une boîte ne se contente pas de contenir quelque chose : elle contient un type de chose. Quatre types suffisent pour commencer.

age = 17
moyenne = 14.5
prenom = "Sarah"
est_majeur = False
print(type(age))
print(type(moyenne))
print(type(prenom))
print(type(est_majeur))

Résultat affiché :

<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
  • int — un nombre entier : 17, -3, 1000
  • float — un nombre à virgule : 14.5, 0.20. Attention, le séparateur est un point, jamais une virgule.
  • str — du texte, toujours entre guillemets : « Sarah »
  • bool — vrai ou faux : True ou False

Pourquoi est-ce que ça compte ? Parce que Python refuse de mélanger les types sans raison. age + prenom ne veut rien dire : on n’additionne pas un nombre et un texte. Cette rigidité te paraîtra pénible pendant une semaine, puis elle t’évitera des heures de recherche de bugs.

Le nom que tu colles sur la boîte compte

Python impose quelques règles sur les noms de variables :

  • Des lettres, des chiffres et des tirets bas, rien d’autre. Pas d’espace, pas d’accent.
  • Un nom ne peut pas commencer par un chiffre.
  • Les majuscules et minuscules sont différentes : prix et Prix sont deux boîtes distinctes.
  • Certains mots sont réservés par le langage (if, for, while, class…) et ne peuvent pas servir de nom.

Au-delà des règles, il y a une convention que tous les développeurs Python suivent : le snake_case, c’est-à-dire des mots en minuscules reliés par des tirets bas.

temperature_exterieure = 12.5
nombre_de_places = 8
print(temperature_exterieure + nombre_de_places)
20.5

Compare avec ceci : t, n, x1, temp2. Ces noms fonctionnent aussi… pendant deux jours. Le troisième jour, tu relis ton propre code et tu ne sais plus ce que contient t. Un bon nom élimine la moitié des commentaires dont tu aurais besoin.

On peut changer le contenu sans changer le nom

Une boîte garde son étiquette, même quand on remplace ce qu’il y a dedans. C’est tout l’intérêt :

compteur = 0
compteur = compteur + 1
compteur = compteur + 1
print(compteur)
2

Déroulons ce qui se passe, ligne par ligne, parce que ce raisonnement est celui que tu utiliseras dans toutes tes boucles plus tard.

  • Ligne 1 : on range 0 dans la boîte compteur.
  • Ligne 2 : Python lit compteur + 1. Il ouvre la boîte, trouve 0, calcule 1, puis range ce 1 dans la même boîte.
  • Ligne 3 : il recommence. Il ouvre la boîte, trouve 1, calcule 2, le range.
  • Ligne 4 : la boîte contient 2.

Les trois erreurs que font tous les débutants

La première : utiliser une variable avant de la créer. Si tu écris print(total) sans avoir jamais écrit total = … avant, Python s’arrête net :

NameError: name 'total' is not defined

Ce message n’est pas une punition, c’est une indication : la boîte total n’existe pas encore. Compte les cas où une erreur vient simplement d’une faute de frappe dans un nom.

La deuxième : confondre = et ==. Un seul signe égal range une valeur. Deux signes égaux posent une question.

note = 10
a_la_moyenne = note >= 10
print(a_la_moyenne)
True

Ici, la deuxième ligne pose la question « est-ce que la note est supérieure ou égale à 10 ? » et range la réponse dans une nouvelle boîte. La réponse est une valeur comme une autre : True.

La troisième : écrire du code que personne ne peut relire. Ce n’est pas une erreur que Python signale, et c’est justement pour ça qu’elle est dangereuse.

À toi de jouer

Un exercice court, et tu n’as besoin que de ce que tu viens de lire. Écris trois variables : un prix hors taxes de 250, un taux de TVA de 0.20, puis une variable qui calcule le prix toutes taxes comprises. Affiche les deux prix.

Cherche d’abord, la solution est juste en dessous.

prix_ht = 250
taux_tva = 0.20
prix_ttc = prix_ht * (1 + taux_tva)
print("Prix HT :", prix_ht)
print("Prix TTC :", prix_ttc)
Prix HT : 250
Prix TTC : 300.0

Si tu as écrit ça, tu as déjà utilisé les variables, le calcul et l’affichage d’un résultat. Ce n’est pas rien : c’est le squelette de tous les programmes que tu écriras ensuite. Note au passage que la première ligne de résultat affiche 250 et non 250.0 : Python conserve le type d’origine de chaque valeur, un entier reste un entier.

Et maintenant ?

Une variable seule ne fait rien. Elle prend son sens quand tu lui ajoutes trois choses, dans cet ordre :

  • les conditions, pour que ton programme choisisse selon les valeurs
  • les boucles, pour répéter une action sans recopier le code
  • les fonctions, pour ranger un bloc de code derrière un nom, comme tu ranges une valeur derrière une variable

Si cette progression te parle — comprendre d’abord, écrire ensuite — c’est exactement la logique de ma formation. Tu peux aussi commencer par la vue d’ensemble : Python : guide complet pour démarrer en 2026.

Tu préfères être guidé, dans le bon ordre ?

Ma formation Python pour débutants suit exactement ce chemin : 19 leçons progressives, 72 questions de quiz pour valider chaque notion, et chaque concept expliqué avec une image simple avant la première ligne de code. Rien n’est supposé connu.

Voir la formation Python →

Accès immédiat · 29 € · Garantie 30 jours satisfait ou remboursé