Toutes les valeurs utilisées en Python possèdent un type (on devrait plutôt dire une classe).
On va se limiter ici aux types numériques simples (booléens, entiers, flottants, nombres complexes), et reporter à plus tard l’étude du type “chaîne de caractères” et des types composés (listes, tuples, intervalles, dictionnaires, etc.) dont les valeurs sont obtenues par regroupements de valeurs de type simple.
Il suffit d’interroger la fonction type pour confirmer la classe de quelques valeurs autorisées :
|
1 2 3 4 5 6 7 8 9 10 |
>>> type(1 == 2) # l'égalité (fausse) 1==2 appartient à la classe 'bool' des booléens <class 'bool'> >>> type(1 + 2 + 3) # l'expression 1+2+3 appartient à la classe 'int' des entiers <class 'int'> >>> type(1 + 2 + 3.) # à cause du point décimal, l'expression 1+2+3. est un 'float' <class 'float'> >>> type(2 + 3j) # un nombre complexe. Attention, noter j ou J et pas i ou I <class 'complex'> # par ailleurs on notera 1j, ou 1.j, plutôt que j seul. >>> type(2 ** 100) # la valeur 2100 est de type 'int' <class 'int'> |
Le dernier exemple est particulier. Jusqu’à la version 2 de Python, on disposait de deux classes d’entiers : la classe ’int’ (entiers compris dans l’intervalle {J=[-2^{n-1},2^{n-1}[}, avec n = 32 ou n = 64 suivant les systèmes) et la classe ’long’ (entiers longs) pour les résultats entiers qui sortent de J (le passage de la classe ’int’ à la classe ’long’ s’effectuant automatiquement).
À partir de Python 3, les classes ’int’ et ’long’ ont été fusionnées en une seule classe ’int’.
On notera que le nombre complexe i est noté j ou J en Python, et que cette lettre j (ou J) doit être obligatoirement utilisée comme suffixe d’une valeur (de type ’int’ ou ’float’) afin d’être reconnue sans ambiguïté :
|
1 2 3 4 5 |
>>> j = 5 # on donne la valeur 5 à la variable j >>> 2 + j # ici c'est la somme de 2 et du contenu de j 7 >>> 2 + 1j # mais ici c'est le nombre complexe 2 + i (2+1j) |