Toute programmation commence par une question : comment stocker de l'information pour la manipuler ? La réponse en Python tient en un mot : la variable. Ce premier chapitre pose les briques indispensables — sans maîtrise parfaite du contenu de ce chapitre, impossible de progresser sereinement.
La notion de variable
Une variable est un nom associé à une valeur stockée en mémoire. En Python, on crée une variable simplement en lui affectant une valeur avec le signe = :
age = 30
prenom = "Alice"
taille = 1.72L'opérateur = s'appelle l'affectation : on lit « la variable age reçoit la valeur 30 ». Une fois créée, la variable s'utilise comme une valeur :
age = 30
print("J'ai", age, "ans.")Règles de nommage des variables
Les noms de variables en Python suivent des règles strictes :
| Règle | Exemple valide | Exemple invalide |
|---|---|---|
Commence par une lettre ou _ |
age, _prive |
2chats ❌ |
Contient lettres, chiffres, _ |
nom_utilisateur, x1 |
nom-utilisateur ❌ |
| Sensible à la casse | Age et age sont différents |
— |
| Ne peut pas être un mot-clé réservé | — | if, for, class, def... ❌ |
Démonstration d'une erreur classique :
2chats = 2Convention PEP 8 — snake_case
Par convention, on écrit les noms de variables en snake_case : mots en minuscules séparés par _.
# ✅ Conforme PEP 8
nombre_de_clients = 50
prix_unitaire_ht = 19.99
# ❌ À éviter
NombreDeClients = 50 # ← camelCase (style Java/JavaScript)
NOMBRE = 50 # ← réservé aux constantesLes types simples (built-in)
Python possède plusieurs types natifs à connaître parfaitement pour le TOSA.
Les entiers (int)
Nombres sans virgule, précision illimitée (Python peut manipuler des entiers aussi grands que la mémoire le permet).
age = 30
grand_nombre = 10 ** 100 # un gogol
print(age, type(age))
print(grand_nombre)Les flottants (float)
Nombres à virgule, notation avec un point (.) en anglais — jamais de virgule.
pi = 3.14159
temperature = -5.5
ratio = 2.0 # un float même si la partie décimale est 0
print(pi, type(pi))Les chaînes de caractères (str)
Textes délimités par des guillemets simples '...' ou doubles "...". Les deux sont équivalents.
nom = "Alice"
ville = 'Paris'
print(nom, type(nom))Pour inclure des apostrophes ou guillemets dans le texte, on alterne les délimiteurs :
phrase = "L'ami de Bob dit \"bonjour\"."
autre = 'Il a dit "salut"'
print(phrase)
print(autre)On verra les chaînes en détail au Chapitre 3.
Les booléens (bool)
Deux valeurs seulement : True (vrai) ou False (faux). Attention à la majuscule — c'est une convention Python stricte.
est_majeur = True
a_remise = False
print(est_majeur, type(est_majeur))Les booléens résultent le plus souvent de comparaisons :
age = 25
est_majeur = age >= 18
print(est_majeur)La valeur None
None représente l'absence de valeur. C'est l'équivalent Python de null ou nil dans d'autres langages.
resultat = None
print(resultat, type(resultat))On l'utilise notamment :
- Comme valeur par défaut d'une variable pas encore initialisée.
- Comme valeur de retour d'une fonction qui ne renvoie « rien ».
La fonction type()
Pour connaître le type d'une valeur ou variable, on utilise la fonction native type() :
print(type(42))
print(type(3.14))
print(type("Alice"))
print(type(True))
print(type(None))Les conversions de type (casting)
Python permet de convertir une valeur d'un type à un autre avec des fonctions portant le nom du type cible :
| Fonction | Conversion vers | Exemple |
|---|---|---|
int(x) |
Entier | int("42") → 42 |
float(x) |
Flottant | float("3.14") → 3.14 |
str(x) |
Chaîne | str(42) → "42" |
bool(x) |
Booléen | bool(0) → False |
Démonstrations :
# Chaîne → entier
age_txt = "30"
age = int(age_txt)
print(age, type(age))# Entier → chaîne (pour concaténer du texte)
age = 30
message = "J'ai " + str(age) + " ans."
print(message)# Flottant → entier : ATTENTION, la partie décimale est TRONQUÉE (pas arrondie)
print(int(3.7))
print(int(-3.7))Conversions impossibles
Toutes les conversions ne sont pas possibles. int("abc") lève une ValueError :
int("abc")Alors que int("42") fonctionne car la chaîne contient un entier valide :
print(int("42"))Le booléen en conversion
Un point important pour le TOSA : toute valeur peut être convertie en booléen. Sont considérés False :
- Le nombre
0(entier ou flottant). - La chaîne vide
"". - Les collections vides
[],{},(). - La valeur
None.
Tout le reste est True.
print(bool(0)) # False
print(bool(42)) # True
print(bool("")) # False
print(bool("Bonjour"))# True
print(bool([])) # False
print(bool([1, 2])) # True
print(bool(None)) # FalseExercices
x = 3.0 ?
int("3.7") ?
bool("") ?
None ?
x = 10 x = "dix" print(type(x))
Un étudiant obtient 3 notes : 12, 15 et 9. Écrivez un programme qui :
- Stocke ces notes dans 3 variables
note1,note2etnote3. - Calcule leur moyenne et la range dans la variable
moyenne. - Affiche un message de la forme :
"La moyenne est 12.0 sur 20".
Écrivez un programme qui demande à l'utilisateur son âge, puis affiche dans quelle année il est né (en supposant l'année courante 2026).
Le message doit être de la forme Vous êtes né(e) en 2001.
Écrivez un programme qui convertit la température celsius en Fahrenheit, sachant que F = C × 9/5 + 32. Rangez le résultat dans la variable fahrenheit.