Concaténation de chaînes en Python
La concaténation de chaînes est une opération très courante en programmation. La concaténation de chaînes en Python peut être effectuée de plusieurs manières. Ce tutoriel vise à explorer différentes manières de concaténer des chaînes dans un programme Python.
Nous pouvons effectuer la concaténation de chaînes de plusieurs manières :
- Utiliser l'opérateur +
- Utiliser la méthode join()
- Utiliser l'opérateur %
- Utiliser la fonction format()
- Utiliser une f-string (interpolation de chaînes littérales)
Concaténation de chaînes en utilisant l'opérateur +
C'est la manière la plus simple de concaténer des chaînes. Voyons un exemple simple.
s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)
Sortie : ApplePieSauce Regardons un autre exemple où nous allons obtenir deux chaînes à partir de l'entrée de l'utilisateur et les concaténer.
s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')
print('Concatenated String =', s1 + s2)
Sortie :
Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld
Il est très facile d'utiliser l'opérateur + pour la concaténation de chaînes. Cependant, les arguments doivent être une chaîne.
>>>'Hello' + 4
Traceback (most recent call last):
File "<input>", line 1, in
TypeError: can only concatenate str (not "int") to str
Nous pouvons utiliser la fonction str() pour obtenir la représentation sous forme de chaîne d'un objet. Voyons comment concaténer une chaîne à un entier ou à un autre objet.
print('Hello' + str(4))
class Data:
id = 0
def __init__(self, i):
self.id = i
def __str__(self):
return 'Data[' + str(self.id) + ']'
print('Hello ' + str(Data(10)))
Sortie :
Hello4
Hello Data[10]
Le plus grand problème avec l'opérateur + est que nous ne pouvons pas ajouter de séparateur ou de délimiteur entre les chaînes. Par exemple, si nous devons concaténer “Hello ” et “World ” avec un séparateur d'espace, nous devrons l'écrire comme "Hello" + " " + "World".
Concaténation de chaînes à l'aide de la fonction join()
Nous pouvons utiliser la fonction join() pour concaténer des chaînes avec un séparateur. C'est utile lorsque nous avons une séquence de chaînes, par exemple une liste ou un tuple de chaînes. Si vous ne voulez pas de séparateur, utilisez alors la fonction join() avec une chaîne vide.
s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))
Sortie :
Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World
Concaténation de chaînes à l'aide de l'opérateur %
Nous pouvons utiliser l'opérateur % pour le formatage de chaînes, il peut également être utilisé pour la concaténation de chaînes. C'est utile lorsque nous voulons concaténer des chaînes et effectuer un formatage simple.
s1 = 'Hello'
s2 = 'World'
s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)
s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)
Sortie :
String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018
Concaténation de chaînes à l'aide de la fonction format()
Nous pouvons utiliser la fonction format() de chaîne pour la concaténation et le formatage des chaînes également.
s1 = 'Hello'
s2 = 'World'
s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)
s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)
Sortie :
String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World
La fonction format() de Python est très puissante, l'utiliser uniquement pour la concaténation de chaînes de caractères n'est pas son utilisation appropriée.
Concaténation de chaînes en utilisant f-string
Si vous utilisez Python 3.6 ou une version ultérieure, vous pouvez également utiliser les f-strings pour la concaténation de chaînes. C'est une nouvelle façon de formater les chaînes, introduite dans PEP 498 - Interpolation de chaînes littérales.
s1 = 'Hello'
s2 = 'World'
s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)
name = 'Pankaj'
age = 34
d = Data(10)
print(f'{name} age is {age} and d={d}')
Sortie :
String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]
La f-string de Python est plus propre et plus facile à écrire par rapport à la fonction format(). Elle appelle également la fonction str() lorsqu'un argument d'objet est utilisé comme remplacement de champ.
Conclusion
Le formatage de chaînes en Python peut se faire de plusieurs manières. Utilisez-les en fonction de vos besoins. Si vous devez concaténer une séquence de chaînes avec un délimiteur, utilisez la fonction join(). Si un formatage est également nécessaire avec la concaténation, utilisez la fonction format() ou les f-strings. Notez que les f-strings peuvent être utilisées avec Python 3.6 ou des versions ultérieures. Vous pouvez également en apprendre davantage sur la concaténation de listes en Python.

