Les variables
1. Qu'est-ce qu'une variable ?
En mathématiques,x est souvent une inconnue. En informatique, c'est différent.
Une variable est une étiquette (un nom) collée sur une valeur stockée dans la mémoire de l'ordinateur.
On définit une variable par trois caractéristiques :
- Son nom (identificateur).
- Sa valeur (la donnée qu'elle contient).
- Son type (la nature de la donnée : nombre, texte, etc.).
2. L'Affectation (ou Assignation)
L'opérateur pour créer une variable ou changer sa valeur est le signe égal=. 2x = 4). C'est un ordre donné à l'ordinateur.
Syntaxe :
nom_variable = valeur
Lecture : On lit cela "La variable nom_variable reçoit la valeur valeur".
L'ordre d'évaluation : L'ordinateur calcule d'abord ce qui est à droite du signe
=, puis stocke le résultat dans la variable à gauche.
Exemple :
score = 0 # Création de la variable score avec la valeur 0score = score + 10 # On prend la valeur actuelle (0), on ajoute 10, on stocke le tout dans scoreprint(score)3. Les Types de données fondamentaux
Python est un langage à typage dynamique. Vous n'avez pas besoin de dire "je veux créer un entier", Python le devine selon la valeur que vous donnez.Voici les 4 types primitifs à connaître par cœur :
| Type Python | Nom complet | Description | Exemples |
|---|---|---|---|
int |
Integer (Entier) | Nombres entiers (positifs ou négatifs) | 42,-5,0 |
float |
Floating point (Flottant) | Nombres à virgule (attention, point en Python) | 3.14,-0.01,2.0 |
str |
String (Chaîne) | Suite de caractères (texte) | "Bonjour, ça va ?","NSI","123 |
bool |
Boolean (Booléen) | Valeur logique (Vrai ou Faux) | True,False |
Exemple Python
x
x = 10print(type(x)) # <class 'int'>y = 3.5print(type(y)) # <class 'float'>4. Règles de nommage (Syntaxe)
Pour nommer une variable, il y a des règles strictes (sinon le programme plante) et des conventions (pour que le code soit propre).- Peut contenir des lettres, des chiffres et l'underscore
_. - Ne doit jamais commencer par un chiffre (ex:
1variableest interdit). - Pas d'espaces ni de caractères spéciaux (
@,$,?, accents déconseillés). - Ne pas utiliser de mots réservés du langage (comme
if,else,for,class,def).
- ✅
mon_score_actuel - ❌
MonScoreActuel(réservé aux classes) - ❌
monScore(style camelCase, utilisé en Java/JS, mais évité en Python)
5. Opérations sur les variables
A. Opérations mathématiques (int et float)
Outre les classiques+, -, *, / (division classique qui donne un float), la NSI met l'accent sur deux opérateurs cruciaux pour l'arithmétique :
- Le quotient de la division euclidienne (
//) - Le reste de la division euclidienne ou Modulo (
%)
Exemple Python
xxxxxxxxxx6
a = 14b = 4print(a // b) # Affiche 3 (car 14 = 4 * 3 + 2)print(a % b) # Affiche 2 (c'est le reste)print(a ** 2) # Affiche 196 (Puissance : 14 au carré)B. Opérations sur les chaînes (str)
On ne peut pas soustraire ou diviser des textes, mais on peut les additionner et les multiplier.
- Concaténation (
+) : Coller deux chaînes. - Répétition (
*) : Répéter une chaîne.
Exemple Python
xxxxxxxxxx4
message = "Bonjour " + "le monde" # "Bonjour le monde"echo = "Bla" * 3 # "BlaBlaBla"print(message)print(echo)6. Conversion de types (Casting) et Entrées Utilisateur
C'est une source d'erreur fréquente chez les débutants. La fonctioninput() permet de demander une valeur à l'utilisateur, mais elle renvoie toujours une chaîne de caractères (str), même si l'utilisateur tape un chiffre. int(v): convertit v en entier.float(v): convertit v en flottant.str(v): convertit v en texte.
Exemple complet :
xxxxxxxxxx11
# Demander l'âge (input renvoie un str, par exemple "16")age_texte = input("Quel est votre âge ? ")# Conversion en entier pour le calculage_entier = int(age_texte)# Calculage_futur = age_entier + 10# Affichage (il faut remettre age_futur en str pour le concaténer, ou utiliser des virgules)print("Dans 10 ans, vous aurez " + str(age_futur) + " ans.")