Types ===== On a vu qu'on pouvait utiliser ``+`` **à la fois** pour additionner des nombres ou concaténer des strings. Mais on ne peut pas utiliser ``+`` avec une string d'un côté et un entier de l'autre:: a = 42 b = 4 c = a + b # ok salutation = "bonjour, " prénom = "Bob" salutation + prénom # ok résultat = a + prénom # affiche: # TypeError: can only concatenate str (not "int") to str Ceci est notre premier message d'erreur: si l'interpréteur est incapable d'éxécuter une instruction, il affiche un message d'erreur et s'interrompt immédiatement. Conversions ----------- Pour résoudre le problème ci-dessus, il faut effectuer une *conversion de types:* Entier vers string ++++++++++++++++++ On peut convertir un entier en string en utilisant le mot ``str`` et des parenthèses autour de l'expression:: x = 40 y = 2 message = "La réponse est: " + str(x + y) print(message) # affiche: La réponse est 42 String vers nombres +++++++++++++++++++ Inversement, on peut convertir un string en entrier en utilisant le mot ``int`` et des parenthèses:: quarante_en_chiffres = "40" réponse = int(quarante_en_chiffres) + 2 print(réponse) # affiche: 42 Pour convertir une string en flottant, on peut utiliser ``float()``:: taille_sur_le_passeport = "1.62" taille_en_mètres = float(taille_sur_le_passeport)