- À propos de la concaténation des chaînes de caractères en Python
- Concaténer des chaînes avec l'opérateur +
- Concaténer des chaînes avec l'opérateur +=
- Concaténer une chaîne avec des nombres
- Concaténer des chaînes avec join()
- Construire des chaînes avec les f-strings
- Exemples pratiques de concaténation
- À retenir !
1. À propos de la concaténation des chaînes de caractères en Python
En Python, la concaténation de chaînes consiste à assembler plusieurs chaînes de caractères afin d'en former une nouvelle. Cette opération est très courante lorsqu'on souhaite construire un message, créer une phrase à partir de plusieurs variables, générer du texte ou préparer des informations destinées à être affichées.
La méthode la plus simple consiste à utiliser l'opérateur +. Dans l'exemple suivant, deux chaînes sont réunies pour former une seule chaîne.
1 2 3 4 | chaine1 = "Bonjour " chaine2 = "Python" resultat = chaine1 + chaine2 print(resultat) |
Sortie :
1 | Bonjour Python |
Les chaînes de caractères Python sont immuables. Une opération de concaténation ne modifie donc pas directement les chaînes utilisées : elle produit une chaîne correspondant à leur assemblage.
2. Concaténer des chaînes avec l'opérateur +
L'opérateur + est la manière la plus directe de concaténer deux ou plusieurs chaînes. Les chaînes sont assemblées dans l'ordre où elles apparaissent dans l'expression.
Le programme suivant assemble un prénom et un nom. Un espace est ajouté entre les deux afin d'obtenir un affichage correct.
1 2 3 4 | prenom = "Yassine" nom = "Amrani" nom_complet = prenom + " " + nom print(nom_complet) |
Sortie :
1 | Yassine Amrani |
Python n'ajoute aucun espace automatiquement lors d'une concaténation. Lorsque l'espace est nécessaire, il faut donc l'ajouter explicitement sous la forme de la chaîne " ".
Dans l'exemple suivant, plusieurs chaînes sont assemblées afin de construire une phrase complète.
1 2 3 4 | langage = "Python" niveau = "débutant" message = "J'apprends " + langage + " au niveau " + niveau + "." print(message) |
Sortie :
1 | J'apprends Python au niveau débutant. |
L'opérateur + peut également concaténer directement plusieurs chaînes littérales.
1 2 | texte = "Python" + " " + "est" + " " + "facile" print(texte) |
Sortie :
1 | Python est facile |
3. Concaténer des chaînes avec l'opérateur +=
L'opérateur += permet d'ajouter une chaîne au contenu associé à une variable. Il est particulièrement pratique lorsqu'un texte est construit progressivement.
Dans l'exemple suivant, la variable message reçoit successivement les différentes parties d'une phrase.
1 2 3 4 5 | message = "Python" message += " est" message += " un langage" message += " de programmation." print(message) |
Sortie :
1 | Python est un langage de programmation. |
Comme les chaînes Python sont immuables, l'opérateur += ne modifie pas les caractères de la chaîne existante. Une nouvelle valeur résultant de la concaténation est obtenue puis réaffectée à la variable.
L'opérateur += peut également être utilisé dans une boucle pour construire progressivement une chaîne. L'exemple suivant concatène plusieurs mots en ajoutant un espace après chacun d'eux, puis strip() supprime l'espace final.
1 2 3 4 5 6 | mots = ["Python", "est", "facile"] phrase = "" for mot in mots: phrase += mot + " " phrase = phrase.strip() print(phrase) |
Sortie :
1 | Python est facile |
Cette technique convient pour de petits traitements. Lorsqu'il faut assembler un grand nombre de chaînes provenant d'une collection, la méthode join() est généralement mieux adaptée.
4. Concaténer une chaîne avec des nombres
L'opérateur + ne permet pas de concaténer directement une chaîne de caractères avec un entier ou un nombre décimal. Pour effectuer une concaténation classique avec +, le nombre peut être préalablement converti en chaîne à l'aide de la fonction str().
Dans cet exemple, la variable age contient un entier. La fonction str() le convertit en chaîne avant la concaténation.
1 2 3 4 | nom = "Sara" age = 20 message = nom + " a " + str(age) + " ans." print(message) |
Sortie :
1 | Sara a 20 ans. |
Sans cette conversion, l'utilisation de + entre une chaîne et un entier provoque une exception TypeError. Le programme suivant capture cette exception afin d'en afficher le type.
1 2 3 4 5 6 | texte = "Âge : " age = 20 try: resultat = texte + age except TypeError as erreur: print(type(erreur).__name__) |
Sortie :
1 | TypeError |
La fonction str() permet également de convertir un nombre décimal avant de l'intégrer à une chaîne avec l'opérateur +.
1 2 3 4 | produit = "Clavier" prix = 249.5 message = produit + " : " + str(prix) + " DH" print(message) |
Sortie :
1 | Clavier : 249.5 DH |
5. Concaténer des chaînes avec join()
La méthode join() permet d'assembler plusieurs chaînes provenant notamment d'une liste ou d'un autre itérable. La chaîne placée avant .join() sert de séparateur entre les différents éléments.
Dans l'exemple suivant, un espace est utilisé comme séparateur entre les mots.
1 2 3 | mots = ["Python", "est", "facile"] phrase = " ".join(mots) print(phrase) |
Sortie :
1 | Python est facile |
Il est possible de choisir une autre chaîne comme séparateur. Le programme suivant utilise un tiret.
1 2 3 | elements = ["2026", "10", "16"] resultat = "-".join(elements) print(resultat) |
Sortie :
1 | 2026-10-16 |
Pour concaténer les éléments sans aucun séparateur, il suffit d'appeler join() sur une chaîne vide.
1 2 3 | lettres = ["P", "y", "t", "h", "o", "n"] mot = "".join(lettres) print(mot) |
Sortie :
1 | Python |
Les éléments transmis à join() doivent être des chaînes de caractères. Si la collection contient des nombres, ceux-ci doivent être convertis en chaînes. Dans l'exemple suivant, une expression génératrice effectue cette conversion.
1 2 3 | nombres = [10, 20, 30] texte = ", ".join(str(nombre) for nombre in nombres) print(texte) |
Sortie :
1 | 10, 20, 30 |
6. Construire des chaînes avec les f-strings
Les f-strings ne réalisent pas une concaténation au moyen de l'opérateur +, mais elles constituent une solution moderne et pratique pour construire une chaîne contenant des valeurs provenant de variables ou d'expressions.
Une f-string est précédée de la lettre f. Les variables à insérer sont placées entre accolades.
1 2 3 4 | prenom = "Amine" age = 21 message = f"{prenom} a {age} ans." print(message) |
Sortie :
1 | Amine a 21 ans. |
Contrairement à une concaténation avec +, il n'est pas nécessaire d'appeler explicitement str() pour intégrer directement un entier dans une f-string.
Les accolades peuvent également contenir des expressions Python. Dans l'exemple suivant, le calcul est effectué lors de la construction de la chaîne.
1 2 3 4 | prix = 100 quantite = 3 message = f"Total : {prix * quantite} DH" print(message) |
Sortie :
1 | Total : 300 DH |
Les f-strings permettent aussi de contrôler le format d'affichage des nombres. Ici, le prix est affiché avec exactement deux chiffres après le point décimal.
1 2 3 4 | produit = "Écran" prix = 2499.5 message = f"{produit} : {prix:.2f} DH" print(message) |
Sortie :
1 | Écran : 2499.50 DH |
7. Exemples pratiques de concaténation
Construire un nom complet
La concaténation peut être utilisée pour construire un nom complet à partir d'un prénom et d'un nom stockés dans deux variables.
1 2 3 4 | prenom = "Lina" nom = "Bennani" nom_complet = prenom + " " + nom print(nom_complet) |
Sortie :
1 | Lina Bennani |
Construire une adresse e-mail
Il est également possible de construire une adresse e-mail en concaténant un identifiant, le caractère @ et un nom de domaine.
1 2 3 4 | identifiant = "yassine" domaine = "exemple.com" email = identifiant + "@" + domaine print(email) |
Sortie :
1 | yassine@exemple.com |
Construire un chemin simple
Pour illustrer la concaténation, plusieurs éléments textuels peuvent être assemblés afin de construire un chemin simple. Pour manipuler réellement des chemins de fichiers de manière portable, le module pathlib est généralement préférable.
1 2 3 4 | dossier = "documents" fichier = "cours.txt" chemin = dossier + "/" + fichier print(chemin) |
Sortie :
1 | documents/cours.txt |
Construire une phrase à partir d'une liste
Lorsqu'un ensemble de mots est stocké dans une liste, join() permet de construire directement une phrase en utilisant un espace comme séparateur. Le point final est ensuite ajouté avec l'opérateur +.
1 2 3 | mots = ["Apprendre", "Python", "est", "passionnant"] phrase = " ".join(mots) + "." print(phrase) |
Sortie :
1 | Apprendre Python est passionnant. |
Construire un message avec plusieurs types de données
Lorsqu'un message contient simultanément du texte, un entier et un nombre décimal, une f-string permet d'obtenir une écriture claire et concise. Le spécificateur .2f permet ici d'afficher le résultat avec deux chiffres après le point décimal.
1 2 3 4 5 | article = "Livre Python" quantite = 2 prix = 19.95 message = f"{quantite} x {article} = {quantite * prix:.2f} €" print(message) |
Sortie :
1 | 2 x Livre Python = 39.90 € |
8. À retenir !
La concaténation de chaînes en Python permet d'assembler plusieurs chaînes de caractères afin de construire un nouveau texte. Plusieurs techniques sont disponibles et le choix dépend principalement de la situation.
- L'opérateur + permet de concaténer simplement deux ou plusieurs chaînes.
- Python n'ajoute pas automatiquement d'espace entre les chaînes concaténées avec +.
- L'opérateur += permet de construire progressivement le contenu associé à une variable.
- Les chaînes Python sont immuables : une concaténation ne modifie pas les caractères d'une chaîne existante.
- Avec +=, le résultat de la concaténation est réaffecté à la variable.
- Une chaîne et un nombre ne peuvent pas être directement concaténés avec l'opérateur +.
- La fonction str() permet de convertir un nombre en chaîne avant une concaténation avec +.
- La méthode join() est particulièrement adaptée à l'assemblage d'une collection de chaînes.
- Le séparateur utilisé par join() peut être un espace, une virgule, un tiret, une chaîne vide ou toute autre chaîne.
- Les éléments fournis à join() doivent être des chaînes de caractères.
- Les f-strings permettent de construire facilement des chaînes contenant des variables, des valeurs et des expressions.
Le programme suivant résume plusieurs techniques étudiées dans ce tutoriel : l'opérateur +, les f-strings et la méthode join().
1 2 3 4 5 6 7 8 9 10 | prenom = "Sara" nom = "Amrani" age = 20 nom_complet = prenom + " " + nom message = f"{nom_complet} a {age} ans." mots = ["Python", "est", "facile"] phrase = " ".join(mots) print(nom_complet) print(message) print(phrase) |
Sortie :
1 2 3 | Sara Amrani Sara Amrani a 20 ans. Python est facile |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


