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)


