Erreur de Type (TypeError) lors de la Concaténation entre Types Incompatibles

Attention

Attention : Dans la fonction print() (ou dans toute autre opération de concaténation de chaînes), lorsque vous essayez de combiner une chaîne de caractères et un nombre (ou d'autres types incompatibles) directement avec l'opérateur +, Python vous donnera une erreur de type (TypeError).

Exemple

1
# Exemple d'erreur :
2
# fil = "MIP"
3
# annee = 2023
4
# print(fil + annee) 
5
# Résultat : TypeError: can only concatenate str (not "int") to str

Méthode

Solution : La meilleure façon d'afficher plusieurs variables avec du texte, surtout si elles sont de types différents, est de :

  1. Les séparer par des virgules dans la fonction print() (comme vu précédemment, print() gère la conversion pour l'affichage).

  2. Convertir explicitement les types non-chaînes en chaînes en utilisant la fonction str() avant la concaténation avec +.

  3. Utiliser des f-strings (une méthode plus moderne et lisible, qui sera vue plus tard). <!-- end list -->

1
fil = "MIP"
2
annee = 2023
3
print(fil, annee)                  # Méthode 1 : avec virgule (affiche: MIP 2023)
4
print(fil + " " + str(annee))     # Méthode 2 : conversion explicite (affiche: MIP 2023)