can only concatenate str (not 'int') to str

Python Erreur courante

Explication

L'erreur `TypeError: can only concatenate str (not "int") to str` apparaît quand vous utilisez `+` pour **coller un nombre à une chaîne**. En Python, `+` entre une `str` et un `int` est ambigu : Python refuse de deviner s'il faut additionner ou concaténer, et exige que les deux côtés soient des chaînes. ```python n = 5 print("Vous avez " + n + " messages") # TypeError: can only concatenate str (not "int") to str ```

Causes courantes

- **Concaténer un nombre à du texte** avec `+`. - **Construire un message** à partir d'une variable numérique sans la convertir. - **Concaténer une liste et un élément** : `["a"] + "b"` (il faut `["a"] + ["b"]`).

1. Utilisez une f-string (recommandé)

n = 5
print(f"Vous avez {n} messages")   # ✅ conversion automatique

2. Convertissez explicitement avec str()

print("Vous avez " + str(n) + " messages")   # ✅

3. Utilisez les arguments de print

print("Vous avez", n, "messages")   # print insère des espaces

4. Pour les listes, concaténez des listes

elements = ["a", "b"]
elements = elements + ["c"]   # ✅ et non + "c"

Comment prevenir cette erreur

- **Adoptez les f-strings** partout : `f"{variable}"` convertit tout type en texte. - **Réservez `+`** à la concaténation de deux chaînes ou de deux listes du même type. - Un vérificateur de types (`mypy`) signale `str + int` à l'avance.

Besoin d'aide sur votre projet ?

Besoin d'aide sur un probleme technique ? Decrivez-le pour des recommandations.

Nous contacter

Questions frequentes

Quelle différence avec `unsupported operand type(s) for +`?
C'est la même famille d'erreurs (mélange de types avec `+`). Le message exact varie selon l'ordre des opérandes (`str + int` vs `int + str`), mais la solution est identique : aligner les types, idéalement avec une f-string.
Pourquoi les f-strings sont-elles recommandées ?
Parce qu'elles convertissent automatiquement les valeurs en texte, sont plus lisibles et plus rapides que la concaténation avec `+` et `str()`.

Erreurs similaires

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.