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 +
.
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 :
- Familiarité avec l’installation de Python 3. Et familiarité avec la programmation en Python. Comment coder en Python 3 ou utiliser VS Code pour Python.
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