Python Variables Guide Complet01
Python Variables Guide Complet01
PYTHON
LES VARIABLES
✅ is vs == en profondeur
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 2 / 73
TABLE DES MATIÈRES
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 3 / 73
CHAPITRE Opérateurs Applicables aux Variables
1.5
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 4 / 73
CHAPITRE 1.1 — Introduction aux Variables
Avant d'écrire votre premier programme utile, vous devez maîtriser le concept fondamental de toute
programmation : la variable. Sans variables, un programme ne peut retenir aucune information, ne peut pas
réagir à l'utilisateur, et ne peut accomplir aucune tâche réelle.
ANALOGIE
1. Définition technique
Une variable est un espace de stockage nommé en mémoire RAM qui contient une valeur. En Python,
contrairement au C, Java ou C++, il n'est pas nécessaire de déclarer le type à l'avance : Python l'infère
automatiquement. C'est ce qu'on appelle le typage dynamique.
La syntaxe universelle est : NOM = VALEUR. Le signe = est l'opérateur d'affectation (pas l'égalité
mathématique !).
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 5 / 73
• Communiquer des résultats intermédiaires entre les parties du programme.
1. Syntaxe et mécanisme
En Python, déclarer une variable, c'est lui donner un nom et une valeur en même temps. Il n'y a pas de
mot-clé spécial (pas de var, let, int ou String comme dans d'autres langages).
2. Erreurs fréquentes
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 7 / 73
Solution : utiliser l'underscore _ à la place.
mon_nom = "Alice" # ✅
mon_age = 25 #✅
Sortie console :
Bonjour Python!
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 8 / 73
📌 EXERCICE 3 — Réaffectation
Créez compteur=0. Ajoutez-lui 1 trois fois. Affichez après chaque ajout.
✅ CORRIGÉ 3 — Réaffectation
compteur = 0
print(compteur) #→0
compteur = compteur + 1
print(compteur) #→1
compteur = compteur + 1
print(compteur) #→2
compteur = compteur + 1
print(compteur) #→3
📌 EXERCICE 6 — À vous !
Créez nom_ville="Paris" et population=2161000. Affichez les deux. (Indice : print() pour
chacune)
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 9 / 73
📌 EXERCICE 7 — À vous !
Calculez perimetre = 2×(longueur + largeur) avec longueur=12, largeur=7. Affichez le résultat.
📌 EXERCICE 8 — À vous !
Déclarez a=100, b=200. Échangez leurs valeurs (a=200, b=100). (Indice : variable temporaire
temp)
📌 EXERCICE 9 — À vous !
phrase="Apprendre Python". Réaffectez-lui "Python est génial !". Affichez les deux états.
📌 EXERCICE 10 — À vous !
prix_ht=49.90, taux_tva=0.20. Calculez et affichez prix_ttc. (Indice : ht + ht * tva)
📌 RÉSUMÉ DU POINT
Une variable est un nom qui pointe vers une valeur en mémoire RAM.
En Python, on la crée par simple affectation : nom = valeur — sans mot-clé spécial.
L'opérateur = est l'AFFECTATION (pas l'égalité) ; == est la comparaison.
Une variable peut être réaffectée autant de fois que nécessaire.
Python détecte automatiquement le type selon la valeur (typage dynamique).
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 10 / 73
1.1.3 — Règles de nommage
3. Sensibilité à la casse
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 11 / 73
# Ces TROIS noms sont trois variables DISTINCTES !
age = 25 # variable n°1
Age = 30 # variable n°2 — DIFFÉRENTE !
AGE = 99 # variable n°3 — DIFFÉRENTE !
print(age) # → 25
print(Age) # → 30
print(AGE) # → 99
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 12 / 73
total HT → espace interdit
📌 EXERCICE 4 — Mot-clé ?
import keyword ; print([Link]("pass")) — qu'affiche-t-il ? Pourquoi ?
✅ CORRIGÉ 4 — Mot-clé ?
→ True
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 13 / 73
📌 EXERCICE 6 — À vous !
Listez 5 noms valides pour une appli météo (température, humidité, ville, vent, date).
📌 EXERCICE 7 — À vous !
[Link]("lambda") — True ou False ? Pourquoi ?
📌 EXERCICE 8 — À vous !
Créez couleur, Couleur, COULEUR avec des valeurs différentes. Affichez les trois.
📌 EXERCICE 9 — À vous !
Corrigez : 1vitesse, km-heure, if_cond, total €, Année Naissance.
📌 EXERCICE 10 — À vous !
Qu'est-ce que le snake_case ? Donnez 5 exemples de votre invention.
📌 RÉSUMÉ DU POINT
Un nom de variable doit commencer par une lettre ou _ — jamais par un chiffre.
Il ne peut contenir que des lettres, chiffres et underscores (pas d'espace ni tiret).
Les 35 mots-clés Python sont réservés et interdits comme noms.
Python est sensible à la casse : age, Age et AGE sont trois variables distinctes.
Évitez les accents : utilisez prenom plutôt que prénom pour la portabilité.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 14 / 73
1.1.4 — Bonnes pratiques (PEP 8)
1. Définition
PEP 8 (Python Enhancement Proposal n°8) est le guide de style officiel de Python, rédigé par Guido van
Rossum. Il définit des conventions de formatage et de nommage. Ces règles ne sont pas imposées par
Python mais sont indispensables dans le monde professionnel.
mon_age = 25 # ✅ PEP 8
prix_total = 99.99 # ✅
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 15 / 73
❌ ERREUR FRÉQUENTE — Constante non signalée
tva = 0.20 # ❌on ne sait pas que c'est une constante
📌 EXERCICE 4 — À vous !
Écrivez 5 variables PEP 8 pour une appli météo : température, humidité, ville, date, vent.
📌 EXERCICE 5 — À vous !
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 16 / 73
Créez 3 constantes (PI, VITESSE_SON, GRAVITE) et 3 variables. Affichez-les.
📌 EXERCICE 6 — À vous !
Réécrivez un code existant en améliorant uniquement le nommage selon PEP 8.
📌 RÉSUMÉ DU POINT
PEP 8 est le guide de style officiel Python — non obligatoire mais indispensable en pratique.
Variables et fonctions : snake_case (minuscules + underscores).
Constantes : SCREAMING_SNAKE_CASE (tout en majuscules).
Classes : CamelCase (chaque mot commence par une majuscule).
Des outils (black, flake8) automatisent la vérification et la correction.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 17 / 73
CHAPITRE 1.2 — Types de Données de Base
Chaque valeur en Python appartient à un type précis. Le type détermine ce qu'on peut faire avec la valeur
: additionner des nombres, concaténer du texte, tester une condition. Python détecte le type
automatiquement selon la valeur affectée.
1. Définition
Un entier (int) est un nombre sans partie décimale. En Python 3, les entiers ont une précision ILLIMITÉE
— pas de débordement possible, même pour des nombres astronomiques.
+ Addition 5+3 8
- Soustraction 10 - 4 6
* Multiplication 6*7 42
% Modulo (reste) 17 % 5 2
** Puissance 2 ** 10 1024
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 18 / 73
a, b = 17, 5
print(a + b) # → 22
print(a - b) # → 12
print(a * b) # → 85
print(a // b) # → 3 (division entière)
print(a % b) # → 2 (reste)
print(a ** b) # → 1419857
3. Erreurs fréquentes
4. Exercices corrigés
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 19 / 73
📌 EXERCICE 2 — Partage de pommes
37 pommes, 5 enfants. Combien chacun reçoit-il ? Combien reste-t-il ?
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 20 / 73
📌 EXERCICE 6 — À vous !
Calculez la somme 1+2+…+100 avec la formule n*(n+1)//2.
📌 EXERCICE 7 — À vous !
Avec 100€ et des articles à 3€, combien peut-on en acheter ? Combien reste-t-il ?
📌 EXERCICE 8 — À vous !
Vérifiez si 2024 est bissextile (divisible par 4 ; si par 100 → doit être divisible par 400).
📌 EXERCICE 9 — À vous !
Calculez le chiffre des unités de 7^100 (astuce : 7**100 % 10).
📌 EXERCICE 10 — À vous !
PGCD de 48 et 18 : algorithme d'Euclide (a, b = b, a % b jusqu'à b==0).
📌 RÉSUMÉ DU POINT
Le type int représente les entiers — précision illimitée en Python 3.
Opérateurs clés : + - * // (division entière) % (modulo) ** (puissance).
La division / renvoie TOUJOURS un float ; // renvoie toujours un int.
Priorité : parenthèses > puissance > * / % > + - (règle PEMDAS).
Bases alternatives : 0b (binaire), 0x (hexa), 0o (octal). Underscore pour lisibilité.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 21 / 73
1.2.2 — Float — Décimaux (float)
1. Définition
Un float représente un nombre décimal. Python utilise le point (.) comme séparateur décimal (jamais la
virgule). Les floats sont stockés en binaire IEEE 754 64 bits, ce qui implique des limites de précision.
# ✅ Solution 1 : round()
print(round(0.1 + 0.2, 2)) # → 0.3
3. Fonctions utiles
import math
n = 3.7
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 22 / 73
4. Erreurs fréquentes
5. Exercices corrigés
📌 EXERCICE 2 — IMC
poids=70.5 kg, taille=1.75 m. IMC = poids / taille². Affichez arrondi à 2 décimales.
✅ CORRIGÉ 2 — IMC
poids = 70.5
taille = 1.75
imc = poids / (taille ** 2)
print(round(imc, 2)) # → 23.02
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 23 / 73
✅ CORRIGÉ 3 — Conversion Fahrenheit → Celsius
fahrenheit = 100
celsius = (fahrenheit - 32) * 5 / 9
print(round(celsius, 2)) # → 37.78
📌 EXERCICE 6 — À vous !
Calculez l'aire d'un cercle de rayon 7.5 cm (pi ≈ 3.14159).
📌 EXERCICE 7 — À vous !
Comparez 0.1+0.2 et 0.3 : d'abord ==, puis avec abs() et une tolérance 1e-9.
📌 EXERCICE 8 — À vous !
Calculez la moyenne de : 14.5, 12.0, 17.5, 9.0, 16.0.
📌 EXERCICE 9 — À vous !
Qu'affiche float("inf") + 1 ? Et float("nan") + 1 ?
📌 EXERCICE 10 — À vous !
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 24 / 73
from decimal import Decimal : calculez 1.1 + 2.2. Comparez avec float ordinaire.
📌 RÉSUMÉ DU POINT
Le type float représente les décimaux. Toujours utiliser le POINT (jamais la virgule).
Les floats sont des approximations binaires : 0.1 + 0.2 ≠ 0.3 exactement.
round(n, d) pour arrondir ; int(n) pour tronquer ; [Link]/ceil pour des arrondis précis.
Pour des calculs monétaires exacts : utiliser le module decimal.
La notation scientifique 1.5e10 = 15 milliards est supportée nativement.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 25 / 73
1.2.3 — String — Chaînes de caractères (str)
1. Définition
Une chaîne (str) est une séquence ordonnée et IMMUABLE de caractères. On la délimite par des
guillemets simples, doubles, ou triples.
s1 = 'guillemets simples'
s2 = "guillemets doubles"
s3 = '''triple guillemets
sur plusieurs lignes'''
# Séquences d'échappement
tab = "Colonne1\tColonne2" # \t = tabulation
nl = "Ligne1\nLigne2" # \n = saut de ligne
raw = r"C:\Users\Alice" # r = raw : \ non interprété
2. Indexation et slicing
mot = "Python"
# P y t h o n
# 0 1 2 3 4 5 ← indices positifs
# -6 -5 -4 -3 -2 -1 ← indices négatifs
print(mot[0]) # → P (premier)
print(mot[-1]) # → n (dernier)
print(mot[1:4]) # → yth
print(mot[::-1]) # → nohtyP (inversé)
print(mot[::2]) # → Pto (1 caractère sur 2)
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 26 / 73
3. Méthodes des chaînes les plus utiles
Méthode Description Exemple → Résultat
4. Erreurs fréquentes
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 27 / 73
print("Âge : " + age) # TypeError !
5. Exercices corrigés
📌 EXERCICE 3 — Inversion
Inversez "Bonjour" avec le slicing [::-1].
✅ CORRIGÉ 3 — Inversion
mot = "Bonjour"
print(mot[::-1]) # → ruojnoB
📌 EXERCICE 4 — Décomposer/recomposer
Séparez "Paris:Lyon:Marseille" par ":" et rejoignez avec " - ".
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 28 / 73
✅ CORRIGÉ 4 — Décomposer/recomposer
villes = "Paris:Lyon:Marseille"
liste = [Link](":") # → ["Paris","Lyon","Marseille"]
resultat = " - ".join(liste) # → "Paris - Lyon - Marseille"
print(resultat)
cp = "7500A"
valide = len(cp) == 5 and [Link]()
print(valide) # → False
📌 EXERCICE 6 — À vous !
Affichez "RAPPORT ANNUEL" centré dans une ligne de 50 "=" grâce à .center().
📌 EXERCICE 7 — À vous !
Comptez combien de fois "e" apparaît dans "les éléments essentiels".
📌 EXERCICE 8 — À vous !
Vérifiez si "data_science.py" commence par "data" et finit par ".py".
📌 EXERCICE 9 — À vous !
Affichez chaque caractère de "Bonjour" sur une ligne séparée. (for c in mot)
📌 EXERCICE 10 — À vous !
Comparez "python" == "Python". Pourquoi ce résultat ? Corrigez pour les comparer sans tenir
compte de la casse.
📌 RÉSUMÉ DU POINT
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 29 / 73
Le type str est une séquence immuable de caractères entre guillemets simples, doubles ou
triples.
Indexation : s[0] = premier, s[-1] = dernier. Slicing : s[a:b:p].
Les f-strings (f"texte {variable}") sont la façon moderne de formater les chaînes.
Les méthodes (.upper, .strip, .replace, .split, .join…) retournent de NOUVELLES chaînes.
Chaînage possible : [Link]().lower().replace(" ","_").
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 30 / 73
12.4 — Boolean — Booléens (bool)
1. Définition
Un booléen (bool) ne peut prendre que deux valeurs : True (Vrai) ou False (Faux) — avec majuscule
obligatoire. bool est une sous-classe de int en Python : True vaut 1 et False vaut 0.
est_connecte = True
fichier_existe = False
# Opérateurs logiques
a = True ; b = False
print(a and b) # → False (les deux doivent être True)
print(a or b) # → True (au moins un True)
print(not a) # → False (inverse)
"" (chaîne vide) Toute chaîne non vide : "a", "0", " "
[] (liste vide) Toute liste non vide : [0], [False]
print(bool(0)) # → False
print(bool(42)) # → True
print(bool("")) # → False
print(bool("bonjour")) # → True
print(bool(None)) # → False
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 31 / 73
print(bool([])) # → False (liste vide)
print(bool([0])) # → True (liste NON vide)
3. Erreurs fréquentes
4. Exercices corrigés
📌 EXERCICE 2 — Truthy/Falsy
Prédisez bool() pour : 0, -1, "", " ", [], [0], None.
✅ CORRIGÉ 2 — Truthy/Falsy
print(bool(0)) # → False
print(bool(-1)) # → True
print(bool("")) # → False
print(bool(" ")) # → True (espace = non vide !)
print(bool([])) # → False
print(bool([0])) # → True (liste non vide)
print(bool(None)) # → False
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 32 / 73
📌 EXERCICE 3 — Comptage de True
Liste de booléens : [True, False, True, True, False, True]. Comptez les True.
age = 16
acces = age >= 18 and (premium or admin)
print(acces) # → False (mineur)
📌 EXERCICE 6 — À vous !
Testez toutes les combinaisons and/or/not avec a=True, b=False.
📌 EXERCICE 7 — À vous !
Qu'affiche print(True + True + True * False) ? Expliquez.
📌 EXERCICE 8 — À vous !
Variable "panier_vide" = True si une liste est vide. (Indice : not liste)
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 33 / 73
📌 EXERCICE 9 — À vous !
Simulez une porte : ouverte=True, verrouillee=False. Peut-on l'ouvrir ?
📌 EXERCICE 10 — À vous !
bool("False") → True ou False ? Pourquoi ? (attention, c'est un piège !)
📌 RÉSUMÉ DU POINT
Le type bool ne prend que deux valeurs : True et False — MAJUSCULE obligatoire.
bool est une sous-classe de int : True vaut 1 et False vaut 0.
Opérateurs : and (ET), or (OU), not (NON).
Valeurs falsy : 0, 0.0, "", [], {}, None, False.
Utiliser "if variable:" au lieu de "if variable == True:" — plus pythonique.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 34 / 73
CHAPITRE 1.3 — Opérations sur les Variables
score = 100
score += 50 # score = 100 + 50 = 150
score *= 2 # score = 150 * 2 = 300
score //= 4 # score = 300 // 4 = 75
print(score) # → 75
2. Échange de variables
a = 10 ; b = 20
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 35 / 73
❌ ERREUR FRÉQUENTE — Échange qui écrase
a = 10 ; b = 20
a = b # a = 20 → ancienne valeur de a PERDUE
b = a # b = 20 (pas 10 ! a vaut déjà 20)
3. Exercices corrigés
📌 EXERCICE 2 — Échange
Échangez a="Bonjour" et b="Au revoir" sans variable temporaire.
✅ CORRIGÉ 2 — Échange
a = "Bonjour"
b = "Au revoir"
a, b = b, a
print(a) # → Au revoir
print(b) # → Bonjour
📌 EXERCICE 3 — À vous !
Compteur avec +=1 : partez de compteur=0 et incrémentez 5 fois. Affichez chaque étape.
📌 EXERCICE 4 — À vous !
Échangez trois variables a, b, c (décalez : a→b, b→c, c→a) en une seule ligne.
📌 EXERCICE 5 — À vous !
Doublez puis divisez par 3 un nombre avec *= et //=.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 36 / 73
Mot / Concept (Python) Traduction française Mode d'emploi en Python
+= ajout et affectation x += 5 ↔ x = x + 5
-= soustraction affectation x -= 3 ↔ x = x - 3
*= mult. affectation x *= 2 ↔ x = x * 2
//= div. entière affectation x //= 2 ↔ x = x // 2
a,b = b,a échange pythonique swap sans variable temporaire
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 37 / 73
1.3.2 — Entrées utilisateur — input()
1. Définition et syntaxe
La fonction input() lit une ligne saisie par l'utilisateur au clavier et la retourne TOUJOURS sous forme de
chaîne (str) — même si l'utilisateur tape un nombre !
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 38 / 73
❌ ERREUR FRÉQUENTE — Convertir sans vérifier (crash si l'utilisateur tape du
texte)
n = int(input("Entrez un nombre : ")) # Si l'user tape "abc" → ValueError !
3. Exercices corrigés
📌 EXERCICE 4 — À vous !
Demandez longueur, largeur, hauteur d'un aquarium. Calculez le volume en litres (1000 cm³ = 1
L).
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 39 / 73
📌 EXERCICE 5 — À vous !
Demandez un nom. Affichez-le en MAJUSCULES, en minuscules, et sa longueur.
📌 EXERCICE 6 — À vous !
Demandez deux nombres. Affichez les 4 résultats : +, -, *, /. Gérez la division par zéro.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 40 / 73
1.3.3 — Conversion de types (cast)
1. Fonctions de conversion
Fonction Convertit vers Exemple Résultat
2. Conversions implicites
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 41 / 73
resultat = 5 + 2.0 # int + float → float automatiquement
print(resultat) # → 7.0 (float)
print(type(resultat)) # → <class 'float'>
3. Exercices corrigés
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 42 / 73
✅ CORRIGÉ 3 — Chaîne float vers int
s = "3.99"
f = float(s) # → 3.99
i = int(f) # → 3 (troncature)
print(s, f, i) # → 3.99 3.99 3
📌 EXERCICE 4 — À vous !
input() retourne "42.5". Convertissez en float, doublez, re-convertissez en str pour afficher.
📌 EXERCICE 5 — À vous !
Que retourne int(True) + int(False) + int(True) ? Pourquoi ?
📌 EXERCICE 6 — À vous !
Convertissez 255 en binaire (str), comparez str(255) et bin(255). Quelle différence ?
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 43 / 73
1.3.4 — Variables multiples & Échange de valeurs
# Échange pythonique
a = 1 ; b = 2
a, b = b, a # échange en une ligne
print(a, b) # → 2 1
Exercices corrigés
📌 EXERCICE 3 — À vous !
Déclarez en une ligne : nom="Alice", age=25, ville="Paris". Affichez un f-string complet.
📌 EXERCICE 4 — À vous !
Échangez a, b, c en rotation gauche (a←b, b←c, c←a) en une seule ligne.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 44 / 73
📌 EXERCICE 5 — À vous !
Demandez à input() deux valeurs d'un coup (ex: "5 10") et séparez-les avec split().
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 45 / 73
CHAPITRE 1.4 — Portée & Mémoire des Variables
1. Définition
La portée (scope) d'une variable désigne l'endroit du code où elle est accessible. Python applique la règle
LEGB : Local → Enclosing → Global → Built-in.
Portée Signification Exemple
def incrementer():
score_local = 100 # portée LOCALE (accessible seulement ici)
print(score_local) # ✅ accessible ici
print(compteur) # ✅ accessible (lecture du global)
incrementer()
print(compteur) # ✅ accessible ici
# print(score_local) # ❌ NameError: hors de la fonction !
2. Le mot-clé global
compteur = 0
def incrementer():
global compteur # DÉCLARER qu'on veut modifier la variable GLOBALE
compteur += 1 # modifie le global
incrementer()
incrementer()
print(compteur) # → 2
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 46 / 73
Préférez passer la variable en paramètre et retourner la nouvelle valeur.
3. Erreurs fréquentes
def ajouter():
global n
n += 1 # ✅
calcul()
print(resultat) # NameError: "resultat" n'est pas défini ici
4. Exercices corrigés
📌 EXERCICE 2 — global
Compteur global incrémenté par une fonction appelée 3 fois.
✅ CORRIGÉ 2 — global
compteur = 0
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 47 / 73
def incrementer():
global compteur
compteur += 1
📌 EXERCICE 3 — À vous !
Créez une variable globale "total = 0". Créez une fonction ajouter(n) qui l'incrémente sans global
(passez par le return).
📌 EXERCICE 4 — À vous !
Observez la règle LEGB : une variable locale x=10 et globale x=99. Que s'affiche dans la
fonction ?
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 48 / 73
1.4.2 — Constantes (convention)
1. Définition
Python n'a pas de vraie constante (pas de mot-clé const). Par convention, une variable dont la valeur ne
doit JAMAIS changer est nommée en SCREAMING_SNAKE_CASE (tout en majuscules). C'est un signal
visuel pour tous les développeurs.
# Utilisation
rayon = 5
aire = PI * rayon ** 2
print(f"Aire : {round(aire, 2)}")
Exercices
📌 EXERCICE 2 — À vous !
Déclarez TVA=0.20 et MAX_ARTICLES=10. Calculez le prix TTC de 7 articles à 15€.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 49 / 73
Mot / Concept (Python) Traduction française Mode d'emploi en Python
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 50 / 73
1.4.3 — Gestion mémoire — id(), mutable / immutable
a = 42
b = a # b pointe vers le MÊME objet que a
print(id(a)) # ex: 140735567283360
print(id(b)) # même identifiant !
print(a is b) # → True (même objet)
int, float, bool, str, tuple Non (immuable) Toute "modification" crée un NOUVEL objet
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 51 / 73
a = 100 ; b = 100
print(a is b) # → True (même objet en cache)
a = 1000 ; b = 1000
print(a is b) # → False (grands entiers : nouveaux objets)
print(a == b) # → True (mêmes valeurs)
Exercices corrigés
lst = [1, 2, 3]
print(id(lst)) # ID avant
[Link](4)
print(id(lst)) # MÊME ID (modifié en place)
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 52 / 73
📌 EXERCICE 3 — À vous !
Démontrez le piège alias avec deux listes. Puis corrigez avec .copy().
📌 EXERCICE 4 — À vous !
Testez l'interning : a=256, b=256 → a is b ? puis a=257, b=257 → a is b ?
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 53 / 73
CHAPITRE 1.5 — Opérateurs Applicables aux
Variables
Les opérateurs permettent d'agir sur les variables : calculer, comparer, combiner des conditions, tester
l'appartenance ou l'identité. Ce CHAPITRE [Link]ésente tous les opérateurs Python dans le contexte des
variables.
a = 17 ; b = 5
print(a + b) # → 22 Addition
print(a - b) # → 12 Soustraction
print(a * b) # → 85 Multiplication
print(a / b) # → 3.4 Division (float)
print(a // b) # → 3 Division entière
print(a % b) # → 2 Modulo (reste)
print(a ** b) # → 1419857 Puissance
== Égal à 5 == 5 True
!= Différent de 5 != 3 True
age = 20
print(age == 18) # → False
print(age >= 18) # → True
fruits = "pomme,banane,cerise"
print("banane" in fruits) # → True
print("kiwi" not in fruits) # → True
liste = [1, 2, 3, 4, 5]
print(3 in liste) # → True
print(10 not in liste) # → True
a = [1, 2, 3]
b = a # b pointe le MÊME objet
c = [1, 2, 3] # c est un NOUVEL objet identique
Exercices corrigés
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 55 / 73
print(f"// = {a//b}") # 3
print(f"% = {a%b}") # 3
print(f"** = {a**b}") # 50625
📌 EXERCICE 2 — is vs ==
Créez a=[1,2,3], b=a, c=[1,2,3]. Testez is et == entre a,b et a,c. Expliquez.
✅ CORRIGÉ 2 — is vs ==
a = [1,2,3] ; b = a ; c = [1,2,3]
print(a is b) # → True (même objet)
print(a == b) # → True (valeurs égales)
print(a is c) # → False (objets différents)
print(a == c) # → True (valeurs égales)
📌 EXERCICE 3 — À vous !
Vérifiez si la note 14.5 est comprise entre 10 et 20 avec une comparaison chaînée.
📌 EXERCICE 4 — À vous !
Testez "Python" in "Apprendre Python facilement". Quel type retourne in ?
📌 EXERCICE 5 — À vous !
Créez une phrase et testez si elle contient le mot "erreur" avec in.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 56 / 73
CHAPITRE 1.6 — Annotations de Type & is vs ==
1. Définition
Introduites en Python 3.5 (PEP 484), les annotations de type (type hints) permettent de spécifier le TYPE
ATTENDU d'une variable ou d'un paramètre. Elles n'ont AUCUN effet sur l'exécution — Python reste
dynamiquement typé — mais sont analysées par des outils comme mypy.
3. Types courants
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 57 / 73
Annotation Signification Exemple
4. Exercices corrigés
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 58 / 73
Exercices non corrigés
📌 EXERCICE 3 — À vous !
Installez mypy. Créez un fichier avec age: int = "vingt". Lancez mypy. Que signale-t-il ?
📌 EXERCICE 4 — À vous !
Annotez 5 variables d'un programme de gestion d'élèves (nom, note, age, promo, diplome).
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 59 / 73
1.6.2 — Différence entre is et ==
1. La distinction fondamentale
C'est l'une des confusions les plus fréquentes chez les débutants Python. Ces deux opérateurs testent
des choses fondamentalement différentes :
Opérateur Teste Retourne True si…
x = 300 ; y = 300
print(x is y) # → False (hors du cache)
print(x == y) # → True (valeurs égales)
2. Règle d'or
3. Erreurs fréquentes
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 60 / 73
if prenom is "Alice": # → peut être True OU False selon l'interning
print("OK")
4. Exercices corrigés
📌 EXERCICE 1 — Démonstration
Créez a="Bonjour", b="Bonjour", c=a. Testez == et is entre chaque paire.
✅ CORRIGÉ 1 — Démonstration
a = "Bonjour" ; b = "Bonjour" ; c = a
print(a == b) # → True (même valeur)
print(a is b) # → True (interning des petites chaînes)
print(a == c) # → True
print(a is c) # → True (c alias de a)
📌 EXERCICE 3 — À vous !
Testez is entre deux listes identiques créées séparément. Puis entre une liste et son alias.
📌 EXERCICE 4 — À vous !
Quand faut-il utiliser is True ? Y a-t-il des cas où if ma_var: est insuffisant ?
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 61 / 73
Mot / Concept (Python) Traduction française Mode d'emploi en Python
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 62 / 73
CHAPITRE 1.7 — Erreurs Fréquentes
Récapitulatives
Ce chapitre rassemble les erreurs les plus fréquentes observées chez les débutants Python, classées par
catégorie. Gardez cette liste comme référence lors de vos débogages.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 63 / 73
❌ ERREUR FRÉQUENTE — La plus fréquente — input() non converti
age = input("Âge : ") # → "25" (str)
annee = 2024 - age # TypeError !
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 64 / 73
CHAPITRE 1.8 — Projet Final Corrigé
Ce projet met en pratique TOUTES les notions vues dans ce livre : variables de tous types, input(),
conversions, opérateurs, portée, constantes, annotations et bonnes pratiques PEP 8.
Objectif
L'utilisateur entre son revenu mensuel et ses dépenses par catégorie. Le programme calcule le solde, le
taux d'épargne, et donne un conseil.
# ╔══════════════════════════════════════════════════╗
# ║ GESTIONNAIRE DE BUDGET PERSONNEL ║
# ║ Projet final — Variables Python ║
# ╚══════════════════════════════════════════════════╝
# ── Constantes ──────────────────────────────────────
TAUX_EPARGNE_IDEAL: float = 0.20 # 20% recommandé
SEPARATEUR : str = "=" * 48
# ── Calculs ─────────────────────────────────────────
total_depenses : float= loyer + alimentation + transport + loisirs + autres
solde : float= revenu - total_depenses
taux_epargne : float= (solde / revenu) * 100 if revenu > 0 else 0
Exemple d'exécution
================================================
⚠️ GESTIONNAIRE DE BUDGET MENSUEL
================================================
Revenu mensuel net (€) : 2800
================================================
⚠️ RAPPORT BUDGET
================================================
Revenu net : 2800.00 €
Total dépenses : 1600.00 €
Solde / Épargne : 1200.00 €
Taux d'épargne : 42.9 %
================================================
✅ Excellent ! Votre épargne est suffisante.
================================================
Améliorations possibles
• Ajouter une catégorie "épargne voulue" et calculer l'objectif.
• Boucle pour ressaisir si la valeur est négative.
• Exporter le rapport dans un fichier texte.
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 66 / 73
ANNEXE — Projets Réels et Utiles pour Rester
Motivé
Vous avez terminé le livre ! Voici 3 projets concrets que vous pouvez réaliser immédiatement, en utilisant
uniquement les notions vues. Chaque projet résout un problème du quotidien.
Notions utilisées
• Variables float et str · input() + float()
• Opérateurs arithmétiques · round()
• Constantes (TAUX_CHANGE…) · f-strings
# ╔══════════════════════════════════════╗
# ║ CONVERTISSEUR D'UNITÉS ║
# ╚══════════════════════════════════════╝
if choix == "1":
km = float(input("Distance en km : "))
miles = km / KM_PAR_MILE
print(f"{km} km = {round(miles, 3)} miles")
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 67 / 73
else:
print("Choix invalide.")
# ╔══════════════════════════════════════╗
# ║ CALCULATEUR D'IMC ║
# ╚══════════════════════════════════════╝
# Interprétation
if imc < 18.5:
interpretation = "⚠️ Insuffisance pondérale"
elif imc < 25:
interpretation = "✅ Poids normal"
elif imc < 30:
interpretation = "⚠️ Surpoids"
else:
interpretation = "⚠️ Obésité"
# ╔══════════════════════════════════════╗
# ║ JEU DU JUSTE PRIX ║
# ╚══════════════════════════════════════╝
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 68 / 73
import random
# ── Constantes ──────────────────────────
BORNE_MIN : int= 1
BORNE_MAX : int= 100
MAX_ESSAIS: int= 7
if not trouve:
print(f"⚠️ Perdu ! Le nombre était {nombre_secret}.")
📌 RÉSUMÉ DU POINT
Vous avez maintenant toutes les bases pour créer des programmes Python utiles.
Chaque projet de l'annexe utilise uniquement les notions de ce livre.
La meilleure façon de progresser : coder tous les jours, même 15 minutes.
Cherchez des projets qui vous motivent : votre curiosité est votre meilleur moteur.
Prochaine étape : les conditions (if/elif/else) et les boucles (for/while).
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 69 / 73
Table des matières
TABLE DES MATIÈRES ............................................................................................................................3
CHAPITRE 1.1 — Introduction aux Variables ................................................................................................5
1.1.1 — Qu'est-ce qu'une variable ? ......................................................................................................5
1. Définition technique ..........................................................................................................................5
2. Utilité — pourquoi les variables sont indispensables .............................................................................5
3. Inconvénient SANS variables .............................................................................................................6
4. Solution AVEC variables ................................................................................................................6
1.1.2 — Déclaration des variables .........................................................................................................6
1. Syntaxe et mécanisme ...................................................................................................................6
2. Erreurs fréquentes .........................................................................................................................7
3. Exercices corrigés — Déclaration ..................................................................................................8
4. Exercices non corrigés — À vous !.................................................................................................9
1.1.3 — Règles de nommage ..............................................................................................................11
1. Règles OBLIGATOIRES imposées par Python ............................................................................11
2. Mots-clés réservés (à ne jamais utiliser comme noms) ................................................................11
3. Sensibilité à la casse....................................................................................................................11
4. Erreurs fréquentes — Nommage..................................................................................................12
5. Exercices corrigés — Nommage ..................................................................................................12
Exercices non corrigés .....................................................................................................................13
1.1.4 — Bonnes pratiques (PEP 8) ......................................................................................................15
1. Définition ......................................................................................................................................15
2. Erreurs fréquentes — Style ..........................................................................................................15
3. Exercices corrigés — PEP 8 ........................................................................................................16
Exercices non corrigés .....................................................................................................................16
CHAPITRE 1.2 — Types de Données de Base .......................................................................................18
1.2.1 — Integer — Entiers (int) ............................................................................................................18
1. Définition ......................................................................................................................................18
2. Opérateurs sur les entiers ............................................................................................................18
3. Erreurs fréquentes .......................................................................................................................19
4. Exercices corrigés ........................................................................................................................19
Exercices non corrigés .....................................................................................................................20
1.2.2 — Float — Décimaux (float)........................................................................................................22
1. Définition ......................................................................................................................................22
2. Problème de précision — piège majeur........................................................................................22
3. Fonctions utiles ............................................................................................................................22
4. Erreurs fréquentes .......................................................................................................................23
5. Exercices corrigés ........................................................................................................................23
Exercices non corrigés .....................................................................................................................24
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 70 / 73
1.2.3 — String — Chaînes de caractères (str) .....................................................................................26
1. Définition ......................................................................................................................................26
2. Indexation et slicing......................................................................................................................26
3. Méthodes des chaînes les plus utiles ...........................................................................................27
4. Erreurs fréquentes .......................................................................................................................27
5. Exercices corrigés ........................................................................................................................28
Exercices non corrigés .....................................................................................................................29
12.4 — Boolean — Booléens (bool) ....................................................................................................31
1. Définition ......................................................................................................................................31
2. Valeurs truthy et falsy...................................................................................................................31
3. Erreurs fréquentes .......................................................................................................................32
4. Exercices corrigés ........................................................................................................................32
Exercices non corrigés .....................................................................................................................33
CHAPITRE 1.3 — Opérations sur les Variables ......................................................................................35
1.3.1 — Affectation & Réaffectation .....................................................................................................35
1. L'opérateur d'affectation augmentée ............................................................................................35
2. Échange de variables...................................................................................................................35
3. Exercices corrigés ........................................................................................................................36
Exercices non corrigés .....................................................................................................................36
1.3.2 — Entrées utilisateur — input() ...................................................................................................38
1. Définition et syntaxe .....................................................................................................................38
2. Paramètres et bonnes pratiques ..................................................................................................38
3. Exercices corrigés ........................................................................................................................39
Exercices non corrigés .....................................................................................................................39
1.3.3 — Conversion de types (cast) .....................................................................................................41
1. Fonctions de conversion ..............................................................................................................41
2. Conversions implicites .................................................................................................................41
3. Exercices corrigés ........................................................................................................................42
Exercices non corrigés .....................................................................................................................43
1.3.4 — Variables multiples & Échange de valeurs..............................................................................44
Exercices corrigés............................................................................................................................44
Exercices non corrigés .....................................................................................................................44
CHAPITRE 1.4 — Portée & Mémoire des Variables................................................................................46
1.4.1 — Portée des variables (locale / globale) ....................................................................................46
1. Définition ......................................................................................................................................46
2. Le mot-clé global ..........................................................................................................................46
3. Erreurs fréquentes .......................................................................................................................47
4. Exercices corrigés ........................................................................................................................47
Exercices non corrigés .....................................................................................................................48
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 71 / 73
1.4.2 — Constantes (convention) ........................................................................................................49
1. Définition ......................................................................................................................................49
Exercices .........................................................................................................................................49
1.4.3 — Gestion mémoire — id(), mutable / immutable .......................................................................51
1. Identité d'un objet — id() ..............................................................................................................51
2. Objets immuables vs mutables.....................................................................................................51
3. Interning des petits entiers ...........................................................................................................51
Exercices corrigés............................................................................................................................52
Exercices non corrigés .....................................................................................................................52
CHAPITRE 1.5 — Opérateurs Applicables aux Variables .......................................................................54
1.5.1 — Opérateurs arithmétiques .......................................................................................................54
1.5.2 — Opérateurs de comparaison ...................................................................................................54
1.5.3 — Opérateurs logiques ...............................................................................................................54
1.5.4 — Opérateurs d'appartenance (in, not in) ...................................................................................55
1.5.5 — Opérateur d'identité (is, is not) ...............................................................................................55
Exercices corrigés............................................................................................................................55
Exercices non corrigés .....................................................................................................................56
CHAPITRE 1.6 — Annotations de Type & is vs == .................................................................................57
1.6.1 — Annotations de type (Type Hints) ...........................................................................................57
1. Définition ......................................................................................................................................57
2. Vérification avec mypy .................................................................................................................57
3. Types courants ............................................................................................................................57
4. Exercices corrigés ........................................................................................................................58
Exercices non corrigés .....................................................................................................................59
1.6.2 — Différence entre is et == .........................................................................................................60
1. La distinction fondamentale..........................................................................................................60
2. Règle d'or.....................................................................................................................................60
3. Erreurs fréquentes .......................................................................................................................60
4. Exercices corrigés ........................................................................................................................61
Exercices non corrigés .....................................................................................................................61
CHAPITRE 1.7 — Erreurs Fréquentes Récapitulatives ...........................................................................63
Erreurs avec exemples de code .......................................................................................................63
CHAPITRE 1.8 — Projet Final Corrigé ....................................................................................................65
Projet : Gestionnaire de budget personnel ...........................................................................................65
Objectif ............................................................................................................................................65
Exemple d'exécution ........................................................................................................................66
Notions du livre utilisées ..................................................................................................................66
Améliorations possibles ...................................................................................................................66
ANNEXE — Projets Réels et Utiles pour Rester Motivé ..........................................................................67
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 72 / 73
Projet 1 — Convertisseur d'unités........................................................................................................67
Contexte ..........................................................................................................................................67
Notions utilisées ...............................................................................................................................67
Projet 2 — Calculateur d'IMC ..............................................................................................................68
Contexte ..........................................................................................................................................68
Projet 3 — Jeu du Juste Prix ...............................................................................................................68
Contexte ..........................................................................................................................................68
Améliorations possibles pour les 3 projets .......................................................................................69
Les Variables en Python · Guide Complet du Débutant Auteur LDK ANASTA Page 73 / 73