SunuLab
Notre savoir
CoursDébutant12 min de lecture

Variables et types

Mémoriser une valeur, connaître sa nature, et lire ce que l'utilisateur tape au clavier

§1.Une variable, c'est une étiquette

Jusqu'ici tes programmes oublient tout instantanément. Une variable règle ça : c'est un nom que tu colles sur une valeur pour pouvoir la retrouver plus tard.

L'image du « tiroir dans lequel on range une valeur » est répandue mais un peu fausse. En Python, une variable est plutôt une ÉTIQUETTE qu'on attache à une valeur. Plusieurs étiquettes peuvent désigner la même valeur, et on peut décoller une étiquette pour la recoller ailleurs.

Créer et utiliser une variable
python
age = 17
print(age)
age = 18 # on recolle l'étiquette sur une autre valeur
print(age)
Résultat : 17 18

Le signe = n'est PAS l'égalité mathématique. Il se lit « reçoit » : age reçoit 17. C'est une action, pas une affirmation. D'ailleurs age = age + 1 est absurde en maths, mais parfaitement normal en programmation.

§3.Nommer ses variables

Ce qui est autorisé
Des lettres, des chiffres et des soulignés. Pas d'espace, pas d'accent, et jamais un chiffre en première position.
Exemple. note_finale, x2, prenom sont valides. 2x et note finale ne le sont pas.
La casse compte
age, Age et AGE sont trois variables différentes. C'est une source d'erreurs classique.
Choisis des noms parlants
moyenne_classe vaut mieux que m. Tu écris ton code une fois, tu le relis dix fois — et quelqu'un d'autre le lira peut-être.
La convention Python
Tout en minuscules, mots séparés par des soulignés : nombre_eleves, prix_total. On appelle ça le snake_case.

§4.Les types : toute valeur a une nature

17 et "17" ne sont pas la même chose. Le premier est un NOMBRE, avec lequel on peut calculer. Le second est du TEXTE qui ressemble à un nombre — on ne peut pas le diviser par deux.

Cette nature s'appelle le TYPE. Python en manipule quatre de base, que tu vas croiser en permanence.

§5.Les quatre types fondamentaux

TypeNom completExemplesÀ quoi ça sert
intentier0, 17, -3, 1000000Compter, indexer, tout ce qui est dénombrable
floatnombre à virgule3.14, -0.5, 2.0Mesurer : moyennes, prix, distances
strchaîne de caractères"Awa", "17", ""Tout ce qui est texte
boolbooléenTrue, FalseRépondre par oui ou non à une condition

En Python, on écrit la virgule décimale avec un POINT : 3.14 et non 3,14. Et True et False prennent une majuscule.

Connaître le type d'une valeur
python
print(type(17))
print(type(3.14))
print(type("Awa"))
print(type(True))
Résultat : <class 'int'> <class 'float'> <class 'str'> <class 'bool'>

La fonction type() est ton meilleur outil de diagnostic. Quand un calcul donne un résultat absurde, la première question à se poser est : de quel type sont vraiment mes valeurs ?

§8.Lire ce que tape l'utilisateur

Un programme qui affiche toujours la même chose n'a pas grand intérêt. La fonction input() lit une ligne saisie par l'utilisateur et te la donne.

Un point crucial, responsable d'innombrables bugs de débutant : input() renvoie TOUJOURS du texte. Même si l'utilisateur tape 17, tu reçois la chaîne "17", pas le nombre 17.

Dans l'atelier SunuCode, tu prépares les réponses à l'avance dans le panneau « Entrée », une par ligne. Sur un ordinateur, elles seraient tapées au clavier pendant l'exécution — le comportement du programme est identique.

Le piège de input()

L'utilisateur tape 17, puis 5.

python
a = input()
b = input()
print(a + b)
Résultat : 175

Pas 22. Comme a et b sont du TEXTE, le + les a collés bout à bout au lieu de les additionner. C'est le bug numéro un du débutant en Python.

§10.Convertir d'un type à l'autre

int(x)
Transforme en entier. Échoue si le texte ne représente pas un entier.
Exemple. int("17") donne 17. int("bonjour") lève une ValueError.
float(x)
Transforme en nombre à virgule.
Exemple. float("3.5") donne 3.5. float(7) donne 7.0.
str(x)
Transforme en texte. Fonctionne toujours.
Exemple. str(17) donne "17".
La version correcte

L'utilisateur tape 17, puis 5.

python
a = int(input())
b = int(input())
print(a + b)
Résultat : 22

int(input()) se lit de l'intérieur vers l'extérieur : on lit une ligne, PUIS on la convertit en entier. C'est la formule à retenir pour tout le parcours.

Manipule les conversions

Les entrées sont déjà préparées. Exécute, puis expérimente.

Chargement de l'éditeur Python…

§13.Afficher proprement : les f-strings

Coller du texte et des variables avec des virgules fonctionne, mais devient vite illisible. Python offre une écriture bien plus agréable : préfixe la chaîne par un f, et glisse tes variables entre accolades.

On appelle ça une f-string. C'est la façon moderne et recommandée d'assembler du texte en Python.

Trois façons d'assembler, une seule agréable
python
prenom = "Awa"
age = 17
print("Bonjour " + prenom + ", tu as " + str(age) + " ans") # pénible
print("Bonjour", prenom + ",", "tu as", age, "ans") # correct
print(f"Bonjour {prenom}, tu as {age} ans") # naturel
Résultat : Bonjour Awa, tu as 17 ans Bonjour Awa, tu as 17 ans Bonjour Awa, tu as 17 ans

La première version oblige à convertir age en texte, sinon TypeError. La f-string s'en charge toute seule. Elle accepte même des calculs : f"L'an prochain tu auras {age + 1} ans".

À retenir

  • Une variable est un nom attaché à une valeur ; le = signifie « reçoit », pas « est égal à ».
  • Convention Python : minuscules et soulignés (note_finale). La casse compte.
  • Quatre types de base : int, float, str, bool. type(x) révèle celui d'une valeur.
  • La division / donne toujours un float : 10 / 2 vaut 5.0.
  • input() renvoie TOUJOURS du texte — enveloppe-le dans int() ou float() pour calculer.
  • Les f-strings sont la façon naturelle d'assembler du texte : f"Bonjour {prenom}".
  • a, b = b, a échange deux variables en une ligne.
Mots-clésvariabletypeintfloatstrboolinputconversionf-string