Métissage ?

Peut-on mélanger deux types distincts dans une même opération ?

Nous avons déjà vu plus haut qu'on ne saurait ajouter un nombre et une chaîne de caractères. Mais peut-on ajouter un int et un float ?

1
a,b = 2, 3.0 #équivalent à a = 2 et b = 3.0
2
print('Le type de a : ', type(a)) 
3
print( 'Le type de b : ', type(b))
4
5
c = a + b
6
print('Valeur de c :', c)
7
print('Le type de c : ', type(c) )

Réponse de Python :

1
Le type de a :   class 'int' 
2
Le type de b :   class 'float' 
3
Valeur de c : 5.0
4
Le type de c :   class 'float' 

L'opération est donc acceptée et le résultat de l'addition sera un float.

De façon générale, on évitera autant que possible les mélanges de types dans une même opération. Lorsqu'il sera tout de même utile de faire un tel mélange, il faudra prendre le temps de prévoir la nature du résultat et les conséquences éventuelles.