Aller au contenu

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
1
2
3
4
print(type(5))          # Affiche <class 'int'> => Nombre entier
print(type(1.5))        # Affiche <class 'float'> => Nombre à virgule
print(type("Chaine"))   # Affiche <class 'str'> => Chaîne de caractères
print(type(True))       # Affiche <class 'bool'> => Booléen

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 entier
  • float : converti en nombre à virgule
  • str : converti en chaîne de caractères
  • bool : 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.