Bases de Python : variables, types, opérateurs et votre premier script

Stocker des valeurs, faire des calculs, afficher des résultats — la poignée de gestes dont est fait tout programme Python.

Démarrez Python à partir de zéro : affectez des variables, connaissez les quatre types fondamentaux (int, float, str, bool), utilisez les opérateurs arithmétiques, de comparaison et booléens, affichez avec des f-strings, et écrivez un petit script de bout en bout qui calcule et rapporte un résultat.

Date de publication

26 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Une variable est un nom donné à une valeur. Affectez-la avec =, puis réutilisez le nom partout.
  • Quatre types vous mènent loin : int (nombres entiers), float (décimaux), str (texte), bool (True/False).
  • = affecte, == compare. Cette seule distinction fait trébucher tous les débutants — gardez-la bien en tête.
  • Les f-strings, c’est comme ça qu’on affiche. f"Total: {total}" insère une variable directement dans le texte.
  • / donne toujours un float, même 10 / 25.0. Utilisez // pour la division entière.
  • Aucune déclaration de type. Python lit le type à partir de la valeur, donc x = 42 est un int et x = "42" est un str.

Introduction

Toute analyse, tout script et tout modèle que vous écrirez un jour en Python sont faits des mêmes quelques gestes : nommer une valeur, lui faire subir quelque chose, montrer le résultat. Cette leçon couvre exactement ces gestes — les variables, les types fondamentaux, les opérateurs et l’affichage — et se termine par un petit script qui lit deux valeurs et affiche une réponse calculée. Rien ici n’est jetable : vous utiliserez chacune de ces lignes dès le premier jour de travail réel.

Chaque résultat sur cette page est réel — et vous pouvez l’exécuter vous-même sans rien installer : cliquez sur Try ▸ sous n’importe quel bloc pour l’exécuter en direct dans votre navigateur (Python démarre au premier Run, puis c’est instantané). Hors de la page, exécutez le code de trois façons : tapez-le ligne par ligne dans l’interpréteur (python dans un terminal), enregistrez-le dans un fichier .py et lancez python myfile.py comme un script, ou travaillez cellule par cellule dans un notebook Jupyter. C’est le même Python en dessous ; choisissez ce qui convient à la tâche.

Variables et affectation

Une variable n’est qu’un nom pointant vers une valeur. Vous en créez une avec = — la valeur va à droite, le nom à gauche — et à partir de là le nom remplace la valeur.

city = "Lyon"
population = 522969

print(city)
print(population)
Lyon
522969

city contient maintenant le texte "Lyon" et population contient le nombre 522969. Afficher chacun montre la valeur vers laquelle il pointe. Vous n’avez jamais déclaré de type — Python a déduit lui-même, à partir des valeurs, que l’un est du texte et l’autre un nombre.

Réaffectez un nom et il pointe simplement vers la nouvelle valeur :

count = 10
count = count + 5
print(count)
15

Le côté droit count + 5 est calculé en premier (en utilisant l’ancienne valeur, 10), puis le résultat 15 est stocké de nouveau dans count. Lire puis mettre à jour une variable de cette manière est l’une des choses les plus courantes que vous ferez.

Utilisez des noms clairs, en minuscules, avec des traits de soulignement — total_cost, first_name — pas x ni tc. Les noms doivent commencer par une lettre ou un trait de soulignement, ne peuvent pas contenir d’espaces et ne peuvent pas être un mot-clé Python comme for ou if.

Les types scalaires fondamentaux

Quatre types intégrés couvrent presque tout ce que vous manipulerez au début. Appelez type() sur n’importe quelle valeur pour voir ce que c’est.

age = 30            # int   — whole number
price = 19.99       # float — number with a decimal point
name = "Datanovia"  # str   — text, in quotes
is_active = True    # bool  — True or False

print(type(age), type(price), type(name), type(is_active))
<class 'int'> <class 'float'> <class 'str'> <class 'bool'>

La sortie nomme chaque type : int, float, str, bool. La règle générale : nombre entier → int ; tout ce qui a un point décimal → float ; du texte entouré de guillemets (simples ou doubles, à votre choix) → str ; une réponse oui/non → bool (notez la majuscule T/F).

Vous pouvez convertir d’un type à l’autre lorsque c’est nécessaire — cela compte dès l’instant où vous lisez une entrée, qui arrive toujours sous forme de texte :

quantity_text = "12"          # this is a string, not a number
quantity = int(quantity_text) # convert it to an int
print(quantity * 2)
24

int("12") transforme le texte "12" en le nombre 12, donc quantity * 2 fait un calcul et affiche 24. Sautez la conversion et "12" * 2 donnerait "1212" — une répétition de chaîne, pas du calcul. Gardez-le en tête ; c’est le bug d’entrée classique.

Opérateurs arithmétiques

Les opérateurs arithmétiques sont ceux auxquels vous vous attendez, plus quelques-uns qui valent la peine d’être connus.

print(7 + 2)    # addition        -> 9
print(7 - 2)    # subtraction     -> 5
print(7 * 2)    # multiplication  -> 14
print(7 / 2)    # division        -> 3.5  (always a float)
print(7 // 2)   # floor division  -> 3    (drops the remainder)
print(7 % 2)    # modulo          -> 1    (the remainder)
print(7 ** 2)   # exponent        -> 49   (7 squared)
9
5
14
3.5
3
1
49

Deux d’entre eux surprennent les nouveaux venus. / renvoie toujours un float10 / 2 vaut 5.0, pas 5. Quand vous voulez un nombre entier, utilisez // (division entière), qui rejette la partie fractionnaire. Et % (modulo) donne le reste — pratique pour « est-ce pair ? » (n % 2 == 0) et pour parcourir cycliquement des positions.

Opérateurs de comparaison et booléens

Les comparaisons posent une question oui/non et répondent avec un bool.

print(5 > 3)     # greater than        -> True
print(5 == 5)    # equal to            -> True
print(5 != 3)    # not equal to        -> True
print(5 <= 4)    # less than or equal  -> False
True
True
True
False

Lisez == comme « est égal à ». Ce n’est pas la même chose que = (qui affecte) — une confusion que Python rejettera ou, pire, sur laquelle il se comportera mal en silence. Toute comparaison s’évalue à True ou False.

Combinez des conditions avec and, or et not :

temperature = 22
is_sunny = True

print(temperature > 18 and is_sunny)   # both must be true -> True
print(temperature > 30 or is_sunny)    # either is enough  -> True
print(not is_sunny)                    # flips the value   -> False
True
True
False

and est True uniquement quand les deux côtés le sont ; or est True quand au moins un l’est ; not l’inverse. Ce sont les briques de base de chaque décision if que vous écrirez plus tard.

Affichage et f-strings

print() affiche des valeurs. Pour insérer une variable dans une phrase, utilisez une f-string — une chaîne avec la lettre f devant, où tout ce qui est entre { } est remplacé par sa valeur.

name = "Sara"
score = 92

print(f"{name} scored {score} points.")
print(f"Half of that is {score / 2}.")
Sara scored 92 points.
Half of that is 46.0.

La première ligne affiche Sara scored 92 points. — Python remplace {name} et {score} par leurs valeurs. La seconde montre qu’on peut placer un calcul directement entre les accolades : {score / 2} calcule et insère 46.0. Les f-strings sont la façon la plus propre de construire une sortie lisible, alors privilégiez-les par défaut.

Commentaires

Un commentaire est une note pour les humains ; Python ignore tout ce qui suit un # sur une ligne.

# Convert a price to include 20% VAT
net = 50
gross = net * 1.20   # 1.20 = original price plus 20%
print(gross)
60.0

La ligne commençant par # et la note après gross = net * 1.20 sont ignorées à l’exécution — seul le code s’exécute, affichant 60.0. Utilisez les commentaires pour expliquer pourquoi quelque chose est fait, pas pour répéter l’évident.

Votre premier script

Voici tout combiné en un petit script de bout en bout : on fixe quelques valeurs, on calcule un résultat, et on le rapporte clairement. C’est la forme de presque tous les scripts que vous écrirez.

# --- A small tip calculator ---

bill = 84.50          # the bill amount
tip_percent = 15      # tip as a whole-number percent
people = 3            # split between this many people

# Compute the tip, the total, and each person's share
tip = bill * tip_percent / 100
total = bill + tip
per_person = total / people

# Report the result
print(f"Bill:       {bill}")
print(f"Tip ({tip_percent}%):   {tip}")
print(f"Total:      {total}")
print(f"Per person: {per_person:.2f}")
Bill:       84.5
Tip (15%):   12.675
Total:      97.175
Per person: 32.39

Lisez-le de haut en bas : trois valeurs sont stockées, trois calculs s’appuient dessus, et quatre lignes f-string rapportent le résultat. La dernière utilise {per_person:.2f} pour arrondir à 2 décimales — exactement ce qu’il faut pour de l’argent. Changez les trois nombres en haut et tout le script se recalcule. C’est un programme complet, et vous l’avez écrit avec uniquement ce qui se trouve sur cette page.

Essayez en direct

Les blocs ci-dessus ont été exécutés au moment de la génération. Modifiez celui-ci et appuyez sur Run pour essayer Python par vous-même — il s’exécute dans votre navigateur via Pyodide (sans installation). Ou cliquez sur Try ▸ sous n’importe quel bloc ci-dessus pour y déposer son code.

Problèmes courants

Vous avez utilisé = là où vous vouliez ==. À l’intérieur d’un if ou d’une comparaison, = est faux — il affecte au lieu de comparer, et Python lève une SyntaxError. Souvenez-vous : un signe égal fixe une valeur, deux signes égal testent une valeur. if score == 100: est un test ; score = 100 est une affectation.

La division a donné un float là où vous attendiez un nombre entier. 10 / 2 vaut 5.0, pas 5, car / renvoie toujours un float. Quand il vous faut un nombre entier — compter des personnes, indexer des positions — utilisez la division entière //, par exemple 10 // 33.

Le calcul sur une entrée fait la mauvaise chose. Tout ce que vous lisez avec input() (ou convertissez depuis du texte) est un str, donc "5" + "3" donne "53" (texte concaténé), pas 8. Convertissez d’abord avec int(...) ou float(...), puis faites le calcul.

Questions fréquentes

= est l’affectation — il stocke la valeur de droite dans le nom de gauche, comme dans x = 5. == est la comparaison — il demande « ces deux-là sont-ils égaux ? » et renvoie True ou False, comme dans x == 5. Utilisez un signe égal pour fixer une valeur, deux pour en tester une.

Non. Python est à typage dynamique : il lit le type à partir de la valeur que vous affectez. x = 42 crée un int et x = "42" crée un str — aucun mot-clé de type nécessaire. Appelez type(x) chaque fois que vous voulez confirmer ce qu’une variable contient à l’instant.

L’opérateur / effectue toujours une division réelle et renvoie un float, même quand le résultat est un nombre entier. Si vous voulez un résultat entier, utilisez la division entière //10 // 2 renvoie 5 en tant qu’int.

Utilisez une f-string : placez f devant le guillemet ouvrant et entourez chaque variable d’accolades, par exemple print(f"Total is {total}"). Vous pouvez aussi faire des calculs entre les accolades, comme f"{price * 1.2}", et formater des nombres, comme f"{value:.2f}" pour deux décimales.

Les quatre que vous rencontrerez en premier sont int (nombres entiers), float (décimaux), str (texte entre guillemets) et bool (True ou False). Au-delà de ceux-ci, Python possède des conteneurs comme les listes et les dictionnaires — abordés dans la prochaine leçon.

Travaillez chaque tâche dans la cellule Essayez en direct ci-dessus — modifiez et exécutez.

1. Variables et arithmétique. Créez deux variables, width = 8 et height = 5, puis affichez l’aire du rectangle qu’elles décrivent.

L’aire est la largeur fois la hauteur ; utilisez l’opérateur * et print().

width = 8
height = 5
print(width * height)   # -> 40

2. Types et conversion. La valeur "100" est arrivée sous forme de texte. Convertissez-la en nombre, ajoutez 50, et affichez le résultat. Que se passerait-il si vous sautiez la conversion ?

Entourez le texte de int(...) avant de faire un calcul.

text = "100"
number = int(text)
print(number + 50)   # -> 150

Sans int(...), "100" + 50 lève une TypeError (vous ne pouvez pas ajouter un nombre à du texte), et "100" + "50" les concaténerait en "10050".

3. f-strings et arrondi. Étant donné price = 7.5 et quantity = 3, affichez la phrase Total: 22.50 à l’aide d’une f-string arrondie à deux décimales.

Calculez price * quantity entre les accolades et utilisez le spécificateur de format :.2f.

price = 7.5
quantity = 3
print(f"Total: {price * quantity:.2f}")   # -> Total: 22.50

Vérification rapide (QCM). Que vaut 7 // 2 ?

A. 3.5 B. 3 C. 1 D. 3.0

B. 3. // est la division entière — elle divise et rejette le reste, en renvoyant un int. (7 / 2 donnerait 3.5, et 7 % 2 donnerait 1.)

Conclusion

Vous possédez maintenant toute la grammaire d’un programme Python de base : nommer des valeurs avec des variables, reconnaître les quatre types fondamentaux, les combiner avec des opérateurs arithmétiques, de comparaison et booléens, et rapporter des résultats avec des f-strings. Le calculateur de pourboire ci-dessus est un programme complet et réel, construit entièrement à partir de ces pièces — et elles s’étendent directement à tout ce qui suit.

À voir aussi : Types de données et structures en Python — listes, dictionnaires et les conteneurs qui réunissent plusieurs valeurs · Les mêmes idées en R — variables et types côté R.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Bases de Python : variables, types, opérateurs et votre
    premier script},
  date = {2026-06-26},
  url = {https://www.datanovia.com/learn/programming/python-foundations/python-basics},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Bases de Python : variables, types, opérateurs et votre premier script.” 2026. June 26. https://www.datanovia.com/learn/programming/python-foundations/python-basics.