Comment concaténer une chaîne et un entier en Python

Introduction

Python prend en charge la concaténation de chaînes à l’aide de l’opérateur +. Dans la plupart des autres langages de programmation, si nous concaténons une chaîne avec un entier (ou tout autre type de données primitif), le langage se charge de les convertir en chaîne puis les concatène.

Cependant, en Python, si vous essayez de concaténer une chaîne avec un entier à l’aide de l’opérateur +, vous obtiendrez une erreur d’exécution.

Exemple

Jetons un coup d’œil à un exemple de concaténation d’une chaîne (str) et d’un entier (int) à l’aide de l’opérateur +.

string_concat_int.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

La sortie désirée est la chaîne : L'année est 2018. Cependant, lorsque nous exécutons ce code, nous obtenons l’erreur d’exécution suivante:

Traceback (most recent call last):
  File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
    print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str

Alors, comment concaténer str et int en Python ? Il existe diverses autres façons d’effectuer cette opération.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de :

Ce tutoriel a été testé avec Python 3.9.6.

Utilisation de la fonction str()

Nous pouvons passer un entier int à la fonction str(), il sera converti en str:

print(current_year_message + str(current_year))

L’entier current_year est renvoyé en tant que chaîne: L'année est 2018.

Utilisation de l’opérateur d’interpolation %

Nous pouvons passer des valeurs à une spécification de conversion avec le formatage de chaîne de style printf:

print("%s%s" % (current_year_message, current_year))

L’entier current_year est interpolé en une chaîne: L'année est 2018.

En utilisant la fonction str.format()

Nous pouvons également utiliser la fonction str.format() pour la concaténation de chaîne et d’entier.

print("{}{}".format(current_year_message, current_year))

L’entier current_year est coercé en tant que chaîne de caractères : L'année est 2018.

En utilisant les f-strings

Si vous utilisez Python 3.6 ou des versions ultérieures, vous pouvez également utiliser les f-strings.

print(f'{current_year_message}{current_year}')

L’entier current_year est interpolé en tant que chaîne de caractères : L'année est 2018.

Conclusion

Vous pouvez consulter le script Python complet et plus d’exemples Python sur notre dépôt GitHub.

Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int