Définition
En programmation, un type de donnée définit la nature des valeurs qu'une variable peut stocker et les opérations que l'on peut effectuer sur ces valeurs. Connaître le type d'une variable est essentiel pour écrire des programmes corrects et efficaces. Les principaux types de données en Python sont les entiers, les flottants, les booléens et les chaînes de caractères.
Méthode : Types de données : entiers, flottants, booléens, chaînes
Identifier un entier (int)
Un entier est un nombre sans partie décimale, positif, négatif ou nul. En Python, il est de type int. Exemple : age = 17
Identifier un flottant (float)
Un flottant est un nombre à virgule (décimal), positif ou négatif. En Python, il est de type float. La virgule est représentée par un point. Exemple : taille = 1.75
Identifier un booléen (bool)
Un booléen représente une valeur de vérité : True (vrai) ou False (faux). Il est de type bool. Exemple : est_majeur = True
Identifier une chaîne de caractères (str)
Une chaîne de caractères est une séquence de caractères (lettres, chiffres, symboles, espaces) encadrée par des guillemets simples ('...') ou doubles ("..."). Elle est de type str. Exemple : nom = "Alice"
Vérifier le type avec type()
En Python, la fonction type() permet de connaître le type d'une variable ou d'une valeur. Exemple : print(type(10)) affichera <class 'int'>.
Exemple résolu
a = 15 b = 3.14 c = "Bonjour" d = (a > 10)\ne = "123" f = -5Déterminez le type de chaque variable.
aa est affectée de la valeur 15. C'est un nombre entier sans partie décimale. Son type est int.bb est affectée de la valeur 3.14. C'est un nombre avec une partie décimale. Son type est float.cc est affectée de la valeur "Bonjour". C'est une séquence de caractères encadrée par des guillemets. Son type est str.dd est affectée du résultat de l'expression (a > 10). Puisque a vaut 15, l'expression 15 > 10 est vraie. La valeur de d est donc True. Son type est bool.ee est affectée de la valeur "123". Même si elle contient des chiffres, elle est encadrée par des guillemets. Son type est str.ff est affectée de la valeur -5. C'est un nombre entier négatif sans partie décimale. Son type est int.a est un int, b est un float, c est un str, d est un bool, e est un str, f est un int.Confusion entre chaîne de chiffres et nombre
- Ne pas confondre
123(un entier, typeint) et"123"(une chaîne de caractères, typestr). Les guillemets sont déterminants. - Une chaîne de caractères ne peut pas être utilisée directement dans des opérations arithmétiques. Par exemple,
"5" + 2provoque une erreur de type (on ne peut pas additionner une chaîne et un entier). - Pour convertir une chaîne de chiffres en nombre, il faut utiliser les fonctions
int()oufloat(). Exemple :int("5") + 2donnera7.
Exercice type contrôle
Considérons le programme Python suivant :x = 25 y = "Python" z = 4.0 w = (x < 20) v = "25.5" u = x / 2
- Pour chaque variable (
x,y,z,w,v,u), indiquez son type en Python. - Quelle est la valeur de la variable
w? - Quelle est la valeur de la variable
u?
x = 25:25est un nombre entier. Type :int.y = "Python":"Python"est une séquence de caractères entre guillemets. Type :str.z = 4.0:4.0est un nombre avec une partie décimale (même si elle est nulle). Type :float.w = (x < 20):(25 < 20)est une expression booléenne. Type :bool.v = "25.5":"25.5"est une séquence de caractères entre guillemets. Type :str.u = x / 2:xest un entier, mais l'opérateur de division/en Python renvoie toujours un flottant. Type :float.
- La variable
west définie parw = (x < 20). Puisquexvaut25, l'expression devient(25 < 20). Cette affirmation est fausse. Donc, la valeur dewestFalse. - La variable
uest définie paru = x / 2. Puisquexvaut25, l'expression devientu = 25 / 2. Le résultat de cette division est12.5. Donc, la valeur deuest12.5.
Questions fréquentes
Pourquoi « 4 » est un « int » et « 4.0 » est un « float » ?
.) indique qu'un nombre est un flottant, même si sa partie décimale est nulle. 4 est un entier, tandis que 4.0 est un flottant. Cela a des implications sur la précision et la mémoire utilisée.Peut-on changer le type d'une variable ?
int(), float(), str(), bool(). Par exemple, int("10") convertit la chaîne "10" en l'entier 10.Quelle est la différence entre « / » et « // » pour la division ?
/ effectue une division flottante et renvoie toujours un float (ex: 5 / 2 donne 2.5). L'opérateur // effectue une division entière (division euclidienne) et renvoie la partie entière du quotient, de type int (ex: 5 // 2 donne 2).Les booléens « True » et « False » sont-ils des nombres ?
True et False sont des valeurs spéciales de type bool. Cependant, ils peuvent être traités comme des nombres dans certains contextes : True équivaut à 1 et False équivaut à 0. Par exemple, True + 1 donne 2.Pour aller plus loin
Le passage en Seconde est difficile ?
Adil accompagne les élèves de Seconde, à domicile dans le Val d'Oise ou en ligne. Un seul prof, du premier cours jusqu'au Bac.