HOWTO · Python

Ajouter un caractère à une chaîne en Python

Ce tutoriel montre comment ajouter un caractère à une chaîne de caractères en Python

Sur cette page

Pour ajouter un caractère à une chaîne en Python, concaténez-le avec + ou insérez-le dans une chaîne formatée. Un caractère est représenté par une chaîne contenant un seul caractère. Les chaînes Python étant immuables, ces opérations renvoient une nouvelle chaîne sans modifier l’originale. L’ajout en suffixe place le texte à la fin ; pour l’insérer ailleurs, découpez la chaîne autour de la position voulue.

Exécutez cet exemple :

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

message = "Hello"
character = "!"
result = message + character
print(result)

Ajouter un caractère à une chaîne en Python avec l’opérateur +

Utilisez + pour une concaténation simple. Les deux opérandes doivent être des chaînes. Le résultat est une nouvelle chaîne : après l’expression ci-dessous, message contient toujours "Hello".

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

message = "Hello"
character = "!"
result = message + character
print(result)

Si la valeur à ajouter est numérique, convertissez-la d’abord en chaîne avec str(). Par exemple, "Page " + str(3) combine du texte et un nombre après conversion. Ajouter directement un nombre à une chaîne déclenche une TypeError, car les types des opérandes ne correspondent pas.

Pour insérer du texte à un indice connu, combinez les tranches situées de part et d’autre du point d’insertion : text[:index] + character + text[index:]. Cette opération crée également une nouvelle chaîne. Choisissez un indice adapté à la position souhaitée et rappelez-vous que les indices des chaînes Python commencent à zéro.

Ajouter un caractère à une chaîne en Python avec la méthode join()

join() assemble un itérable de chaînes. La chaîne sur laquelle vous appelez cette méthode sert de séparateur entre chaque paire d’éléments ; ce n’est pas une opération spéciale d’ajout en fin de chaîne. Utilisez un séparateur vide pour assembler des morceaux sans texte supplémentaire entre eux, ou choisissez un séparateur comme une virgule si le résultat souhaité le nécessite.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

parts = ["red", "green", "blue"]
result = ", ".join(parts)
print(result)

Chaque élément de l’itérable doit être une chaîne. Convertissez les valeurs d’un autre type avant de les assembler, par exemple avec str(value). Pour ajouter un suffixe à une chaîne existante, + est généralement l’expression la plus claire ; join() est utile pour réunir plusieurs morceaux, notamment lorsqu’ils doivent être séparés de manière uniforme.

Ajouter un caractère à une chaîne en Python avec la méthode str.format()

str.format() insère des valeurs à l’emplacement de champs entre accolades. Placez les champs là où les morceaux doivent apparaître, puis transmettez à la méthode les valeurs correspondantes. Des champs adjacents sont concaténés directement : aucun séparateur n’est ajouté, sauf si vous l’incluez dans le modèle.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

name = "Ada"
punctuation = "!"
result = "Hello, {}{}".format(name, punctuation)
print(result)

Cette méthode fonctionne avec les versions de Python qui prennent en charge str.format() et convient lorsqu’il est utile de séparer le modèle des valeurs. Pour plusieurs champs, transmettez les valeurs dans le même ordre ou utilisez des champs nommés, comme dans "Hello, {name}!".format(name="Ada"), afin de rendre leur correspondance explicite.

Ajouter un caractère à une chaîne en Python avec l’interpolation de chaînes (f-strings)

Les f-strings permettent d’insérer simplement des valeurs et des expressions dans des chaînes littérales. Elles nécessitent Python 3.6 ou une version ultérieure. Placez chaque variable ou expression entre accolades après le préfixe f.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

name = "Ada"
punctuation = "!"
result = f"Hello, {name}{punctuation}"
print(result)

Utilisez une f-string lorsque son modèle intégré à la ligne est facile à lire. Dans la chaîne obtenue, la valeur insérée est convertie en texte pour l’affichage ; la chaîne d’origine et les variables restent inchangées. Avec une ancienne version de Python, utilisez plutôt str.format() ou la concaténation.

Ajouter un caractère à une chaîne en Python avec l’opérateur %

Le formatage de chaîne avec % est une ancienne solution de remplacement. Un champ comme %s indique où placer une valeur, que l’opérateur fournit ensuite. S’il y a plusieurs champs, transmettez un tuple dont les valeurs respectent le même ordre.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

name = "Ada"
punctuation = "!"
result = "Hello, %s%s" % (name, punctuation)
print(result)

Dans du nouveau code, choisissez le style de formatage qui rend le modèle le plus facile à comprendre. % reste utile pour maintenir du code existant qui utilise déjà cette syntaxe.

Conclusion

Utilisez + pour ajouter simplement un suffixe, str.format() ou une f-string pour combiner du texte et des valeurs, et join() pour assembler plusieurs chaînes avec un séparateur. Convertissez les nombres en chaînes avant de les concaténer ou de les assembler avec join(). Dans tous les cas, l’opération produit une nouvelle chaîne : affectez le résultat à une variable si vous souhaitez le conserver. Les exemples ci-dessus sont des extraits Python exécutables ; ce paquet ne fournit aucun relevé d’exécution, donc aucun résultat observé n’est affirmé ici.