Quel type se cache derrière la valeur ?
Pour chacune des expressions suivantes, dites ce que renvoie
type(...) :
7
7.0
"7"
True
7 == 7.0
Puis verifiez dans l'interpreteur.
Rappel
Python associe un type a toute valeur, et type() vous le dit.
Les quatre types de base : int (entier), float
(nombre a virgule), str (chaine de caracteres),
bool (vrai ou faux).
Le point qui trompe tout le monde : 7 et 7.0
ne sont pas du meme type, alors qu'ils representent la meme quantite.
Voir le corrigéMasquer le corrigé
Corrigé
type(7) # <class 'int'>
type(7.0) # <class 'float'>
type("7") # <class 'str'>
type(True) # <class 'bool'>
type(7 == 7.0) # <class 'bool'>
Les trois premieres lignes montrent que le meme nombre 7
s'ecrit de trois facons differentes selon ce qu'on veut en faire : calculer avec
(int), calculer avec des decimales (float), ou
l'afficher comme du texte (str).
La derniere ligne merite une seconde de reflexion. 7 == 7.0 est
une comparaison, pas une valeur : Python l'evalue d'abord, obtient
True, et c'est le type de True qui est affiche. La
comparaison est vraie parce que Python compare les valeurs
numeriques, pas les types.