La notion de cast#

La notion de cast en Python correspond à la conversion d’un type de données en un autre type de données.

En Python, il existe plusieurs types de données de base, tels que les nombres entiers (int), les nombres à virgule flottante (float), les chaînes de caractères (str), les booléens (bool).

Il peut arriver qu’on ait besoin de convertir une variable d’un type de données dans un autre type de données pour pouvoir l’utiliser dans un contexte spécifique.

Par exemple, si on veut concaténer une chaîne de caractères et un nombre entier, il faut d’abord convertir le nombre entier en chaîne de caractères avant de pouvoir les concaténer.

Pour effectuer un cast en Python, on utilise la syntaxe suivante :

nouveau_type(expression)

Par exemple, pour convertir un nombre entier en chaîne de caractères, on peut utiliser la fonction str() :

[1]:
nombre = 42
chaine = str(nombre)
mon_texte = "Bonjour" + chaine
print(mon_texte)
Bonjour42

Il existe plusieurs fonctions de cast en Python, qui permettent de convertir un type de données en un autre type de données :

  • int() : convertit une expression en nombre entier.

  • float() : convertit une expression en nombre à virgule flottante.

  • str() : convertit une expression en chaîne de caractères.

  • bool() : convertit une expression en booléen.

Il est important de noter que toutes ces fonctions de cast ne sont pas toujours possibles. Par exemple, on ne peut pas convertir une chaîne de caractères en nombre entier si la chaîne ne représente pas un nombre valide. Dans ce cas, Python lèvera une exception ValueError.

Voici un exemple de code qui montre comment utiliser les différentes fonctions de cast en Python :

[ ]:
entier = 42
flottant = 3.14
chaine = "42"
bool1 = True
bool2 = False

# Conversion en nombre entier
print(int(flottant))  # affiche 3
print(int(chaine))  # affiche 42
print(int(bool1))  # affiche 1
print(int(bool2))  # affiche 0

# Conversion en nombre à virgule flottante
print(float(entier))  # affiche 42.0
print(float(chaine))  # affiche 42.0
print(float(bool1))  # affiche 1.0
print(float(bool2))  # affiche 0.0

# Conversion en chaîne de caractères
print(str(entier))  # affiche "42"
print(str(flottant))  # affiche "3.14"
print(str(bool1))  # affiche "True"
print(str(bool2))  # affiche "False"

# Conversion en booléen
print(bool(entier))  # affiche True
print(bool(flottant))  # affiche True
print(bool(chaine))  # affiche True
print(bool(0))  # affiche False
print(bool(None))  # affiche False