Recherche de site Web

Comment concaténer une chaîne de caractères et un entier en Python


Introduction

Python prend en charge la concaténation de chaînes en utilisant 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 s'occupe de les convertir en chaîne et ensuite de les concaténer.

Cependant, en Python, si vous essayez de concaténer une chaîne de caractères avec un entier en utilisant l'opérateur +, vous obtiendrez une erreur d'exécution.

Exemple

Examinons un exemple de concaténation d'une chaîne (str) et d'un entier (int) en utilisant l'opérateur +.

current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

La sortie souhaitée est la chaîne : 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 plusieurs autres façons d'effectuer cette opération.

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de :

  • Familiarité avec l'installation de Python 3. Et familiarité avec la programmation en Python. Comment coder dans la série Python 3 ou utiliser VS Code pour Python.

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

Utiliser la fonction str()

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

print(current_year_message + str(current_year))

L'entier current_year est retourné sous forme de chaîne : Année 2018.

Utilisation de l'opérateur d'interpolation %

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

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

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

Utiliser la fonction str.format()

Nous pouvons également utiliser la fonction str.format() pour la concaténation de chaînes et d'entiers.

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

L'entier current_year est converti en chaîne : Année est 2018.

Utiliser des f-strings

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

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

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

Conclusion

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