Les conversions de types
Objectifs de la section
2-2 Traitements de données
Temps requis
10 minutes
Il arrive souvent que l'on souhaite convertir d'un type de données vers un autre. Dans cette section, les conversions entre types natifs (entier, nombre à virgule, booléen et chaîne de caractères) sont abordées.
Connaître le type de données
Pour afficher le type d'une variable, on peut utiliser la fonction type
qui accepte un paramètre, la variable ou la donnée à tester puis affiche le résultat dans la console.
Utilisation de la fonction type | |
---|---|
Matrice des conversions
Voici un tableau qui présente le résultat d'une conversion d'un type vers un autre. Pour rappel voici les fonctions de conversion :
int
: converti en nombre entierfloat
: converti en nombre à virgulestr
: converti en chaîne de caractèresbool
: converti en booléen
Conversion | Entier | Nombre à virgule | Chaîne de caractères | Booléen |
---|---|---|---|---|
Entier | Fonctionne toujours de façon explicite, mais il y a une troncature de la partie décimale. | Fonctionne seulement si la chaîne ne contient qu'un nombre entier. | True vaut 1, False vaut 0. |
|
Nombre à virgule | Fonctionne toujours, mais peut entraîner une perte de données pour les grands nombres. | Fonctionne seulement si la chaîne contient un nombre entier ou à virgule avec un « . » comme séparateur de décimales. | True vaut 1.0, False vaut 0.0. |
|
Chaîne de caractères | Fonctionne toujours. | Fonctionne toujours. | True vaut "True" , False vaut "False" . |
|
Booléen | 0 se converti en False , tous les autres nombres en True . |
0.000... se converti en False , tous les autres nombres en True . |
La chaîne vide est False , toute chaîne non vide est True . |
Conversion implicite
Certaines conversions se font automatiquement par Python, comme lorsqu'on utilise un nombre entier dans la même expression arithmétique que des nombres à virgule ou les frstring
qui appellent la fonction str
automatiquement. Certaines fois, ces conversions peuvent être responsables d'erreurs : il faut donc se méfier du mélange de types de données dans une même expression.