Sciences numériques et technologie · Seconde
Variables et types en Python : cours de Seconde SNT
Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur
L'essentiel
- Une variable porte un nom et contient une valeur ; l'affectation (
a = 5) range la valeur dans la variable, et se lit « a reçoit 5 ».3 - Quatre types de base en Seconde :
int(entiers),float(flottants),bool(booléens) etstr(chaînes de caractères).1 - Le type d'une variable décide des valeurs possibles et des opérations permises ; on le lit avec
type().13 - On change de type avec des fonctions de conversion comme
int(), et on mesure une chaîne aveclen().4 - Une variable informatique change au fil du programme : on suit son contenu ligne par ligne, dans l'ordre d'exécution.
Pourquoi des variables ?
Quand tu fais un calcul à la main, tu écris les nombres sur une feuille et tu gardes en tête les résultats intermédiaires. Un programme a le même besoin : il doit mémoriser des informations pour les réutiliser plus loin. Le prix d'un article, le prénom d'un utilisateur, le score d'une partie : tout cela se range dans des variables.
En programmant, tu retrouves des notions déjà rencontrées en mathématiques, comme la variable et la fonction.2 Mais une variable informatique ne se comporte pas exactement comme une variable mathématique. Ce cours t'apprend à bien la manipuler en Python, et à comprendre pourquoi chaque valeur possède un type.
Dans ce chapitre, tu vas voir :
- comment créer une variable et lui donner une valeur (l'affectation) ;
- les types de base que Python connaît ;
- comment connaître ou changer le type d'une valeur ;
- comment afficher des résultats ;
- les erreurs que font le plus souvent les élèves.
Les conditions, les boucles et les fonctions viendront ensuite : elles s'appuient toutes sur ce que tu apprends ici.
La variable et l'affectation
Le signe = ne veut pas dire « est égal à » comme en mathématiques. Pour éviter la confusion, on l'écrit en pseudo-code avec une flèche : pour dire « affecter à la variable a le nombre 5 », on note « a ← 5 ».2 Lis donc toujours a = 5 comme « a reçoit 5 ». L'ordinateur calcule d'abord ce qui est à droite, puis range le résultat dans la variable de gauche.
- 1. CalculerPython évalue le membre de droite du signe =.
- 2. RangerLe résultat est rangé dans la variable de gauche.
- 3. RéutiliserLe nom de la variable remplace la valeur ensuite.
Une variable peut changer de valeur
En mathématiques, dire « soit » fixe pour tout l'exercice. En programmation, la valeur d'une variable peut changer à tout moment : on la réaffecte. L'ancienne valeur est alors perdue.
Il est aussi possible d'affecter plusieurs variables en une seule ligne, par exemple a,b=0.5,60.4 Ici a reçoit 0.5 et b reçoit 60. Cette écriture est pratique, mais garde-la pour des cas simples : plusieurs lignes séparées se lisent plus facilement.
Choisir un bon nom de variable
Le nom d'une variable est ton choix, mais quelques règles s'imposent à toi pour que Python le comprenne, et d'autres pour que toi tu comprennes ton programme dans une semaine.
Les types de base
Une valeur n'est pas seulement un contenu : c'est aussi une nature. Le nombre 12, le nombre 3,14, le mot « bonjour » et la réponse « vrai » ne se traitent pas de la même façon. Cette nature s'appelle le type.
| Type | Contenu | Exemple |
|---|---|---|
| int | nombre entier | 42 |
| float | nombre flottant | 3.14 |
| bool | booléen (vrai ou faux) | True |
| str | chaîne de caractères | "Léa" |
Les chaînes de caractères
Une chaîne de caractères est un texte entouré de guillemets. On peut y mettre des lettres, des chiffres, des espaces, de la ponctuation. Voici des affectations de chaînes :3
c1 = "Un deux trois"
c3 = "Un deux\ntrois"
Dans la seconde, la séquence \n produit un retour à la ligne à l'affichage.
Le type str a ses propres opérations. Avec le signe +, Python colle deux chaînes bout à bout :
prenom = "Léa"
salut = "Bonjour " + prenom
La variable salut contient alors Bonjour Léa. Avec des nombres, le même signe + additionne. C'est une première illustration de l'idée du cours : le type décide de ce que fait l'opérateur.
Connaître et changer le type
Afficher des valeurs avec print()
Une variable existe dans la mémoire, mais tu ne la vois pas. Pour afficher un résultat à l'écran, on utilise la fonction print().3
Pour aller plus loin, tu rencontreras d'autres types natifs, comme les listes. En Python, on évite les mots « tableau » ou « vecteur », qui prêtent à confusion avec d'autres langages.3 La fonction set() convertit une liste en ensemble.3 Ces types contiennent plusieurs valeurs à la fois : ils serviront quand tu auras besoin de ranger un ensemble de données dans une seule variable.
Où une variable est-elle connue ?
Selon l'endroit où tu crées une variable, elle n'est pas visible partout. On distingue des variables globales et des variables locales.3 Une variable locale est créée à l'intérieur d'une fonction et n'existe que pendant l'exécution de celle-ci ; une variable globale est créée en dehors de toute fonction. Tu approfondiras ce point avec les fonctions, prochain chapitre.
Exercices corrigés
Exercice 1 Suivre les valeurs d'un programme
On exécute le programme suivant :
a = 5
b = a * 2
a = b + 1
Quelle est la valeur de a à la fin ?
Indice 1
Exécute les lignes dans l'ordre, du haut vers le bas.
Indice 2
Pour la dernière ligne, utilise la valeur de b déjà calculée.
Voir la correction pas à pas
Ligne 1 :
areçoit 5.Ligne 2 : on calcule , donc
breçoit 10.Ligne 3 : on calcule , et ce résultat est rangé dans
a. L'ancienne valeur 5 est perdue.À la fin,
avaut 11 etbvaut 10.
La variable a vaut 11 à la fin. Retiens que la dernière ligne a remplacé l'ancienne valeur de a, alors que b n'a pas bougé.
Exercice 2 Reconnaître les types
Donne le type (int, float, bool ou str) de chaque valeur :
424.0"42"Truelen("python")
Indice 1
Cherche la présence de guillemets ou d'un point décimal.
Indice 2
len() renvoie un nombre de caractères : de quelle nature est ce nombre ?
Voir la correction pas à pas
42: nombre entier sans point, doncint.4.0: le point décimal en fait unfloat, même si la valeur est entière."42": les guillemets en font une chaîne, doncstr.True: une des deux valeurs vrai/faux, doncbool.len("python"): le mot a 6 lettres,len()renvoie l'entier 6, doncint.
Les types sont : int, float, str, bool, int. Les deux pièges sont 4.0 (flottant malgré sa valeur entière) et "42" (texte malgré ses chiffres).
Exercice 3 Aire d'un rectangle et conversion
Un programme reçoit les dimensions d'un rectangle sous forme de chaînes de caractères :
largeur = "4.5"
longueur = "6"
- Écris les lignes qui convertissent ces deux valeurs en
float. - Écris la ligne qui range l'aire dans une variable
aire. - Quelle est la valeur de
aire?
Indice 1
Utilise float() sur chaque chaîne.
Indice 2
L'aire d'un rectangle est le produit de ses deux dimensions.
Voir la correction pas à pas
Conversion :
largeur = float(largeur)donne 4.5 etlongueur = float(longueur)donne 6.0.On réaffecte dans les mêmes variables, sinon elles resteraient des chaînes.
Calcul de l'aire :
aire = largeur * longueur.Valeur : , soit 27.0 en
float.
L'aire vaut 27 (27.0 en Python, car le résultat est un float). Sans les conversions, la multiplication d'une chaîne par une autre aurait provoqué une erreur.
Quiz
8 questions · correction immédiate · ton score reste sur ton appareil.
-
Le signe
=range la valeur 5 dans la variablea: c'est une affectation.2 Ce n'est pas un test, qui est une autre opération dont le résultat est un booléen, et ce n'est pas un affichage, qui demandeprint(). La valeur deapourra d'ailleurs être modifiée plus loin. -
Le point décimal fait de
3.0un flottant (float), même si sa valeur est entière. Penser àintest tentant car 3 est un entier en mathématiques, mais en Python seul le nombre écrit sans point est unint. -
La première ligne range 4 dans
x. La seconde calcule avec l'ancienne valeur, puis range 12 dansx. Répondre 3 ou 4 revient à oublier que la variable est mise à jour. -
type()donne le type de la valeur d'une variable.3len()mesure une chaîne,print()affiche etint()convertit en entier : ce sont des fonctions utiles, mais qui ne répondent pas à la question. -
La fonction
len()compte tous les caractères, espace compris.4 « ciel » en a 4, l'espace 1 et « bleu » 4, soit 9. La réponse 8 vient de l'oubli de l'espace. -
"12"est entre guillemets : c'est une chaîne de caractères (str).12est un entier (int). Les deux s'affichent de la même façon, mais on peut additionner deux entiers et pas un entier avec une chaîne. -
Les types
int,floatetboolfont partie des types simples de Seconde, avecstr.1 Il n'existe pas de type de base nommématriceà ce niveau : ce nom est un piège. -
int("7")convertit la chaîne en entier 7,4 puis on ajoute 1 : le résultat est l'entier 8. La réponse"71"serait obtenue si on collait deux chaînes, ce qui n'est pas le cas ici puisque la conversion a eu lieu avant l'addition.
Les questions qu'on se pose
Quelle différence entre `=` et `==` ?
Le signe = réalise une affectation : il range une valeur dans une variable. Le signe == sert à tester une égalité et donne un booléen, vrai ou faux.2 Tu l'utiliseras surtout dans le chapitre sur les conditions.
Pourquoi Python affiche-t-il une erreur quand j'additionne un nombre et un texte ?
Parce que l'opération + n'a pas le même sens pour un entier (addition) et pour une chaîne (collage). Quand les types ne sont pas compatibles, Python refuse. Convertis l'une des valeurs avec int(),4 float() ou str() pour que les deux soient du même type.
À quoi sert de connaître le type d'une variable ?
Le type détermine quelles valeurs la variable peut contenir et quels opérateurs ou fonctions s'appliquent.1 Savoir quel est le type te permet donc de prévoir le résultat d'une opération et de comprendre une erreur.
Une variable peut-elle changer de valeur ?
Oui. Chaque nouvelle affectation remplace la valeur précédente. C'est une différence importante avec une variable mathématique : en programmation, la valeur dépend de l'endroit du programme où tu te trouves. Pour t'y retrouver, suis les valeurs ligne par ligne dans un tableau.
Faut-il toujours déclarer le type d'une variable ?
Non. En Python, tu écris simplement a = 83 : le type découle de la valeur affectée, que tu peux retrouver avec type().3 Tu n'as donc pas à l'indiquer à l'avance.
Sources
Programme visé : Sciences numériques et technologie - Seconde - Programmation en Python · Éduscol
- Sciences numériques et technologie - Seconde - Programmation en Python, Éduscol. Consulté le 9 novembre 2026.
- Ressources pédagogiques SNT - Programmation Python, Éduscol. Consulté le 9 novembre 2026.
- COURS Python SNT - Programmation en Python pour Sciences numériques et technologie, Académie de Normandie. Consulté le 9 novembre 2026.
- Mémento Python - Premiers pas avec Python SNT, Académie de Lyon. Consulté le 9 novembre 2026.
- Écart type, Wikipédia. Consulté le 9 novembre 2026.
- Variable qualitative, Wikipédia. Consulté le 9 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.