Opérations sur les chaînes☘
Concaténation☘
On peut concaténer (ajouter bout à bout) deux chaînes avec l'opérateur +
:
>>> morceau1 = 'Et puis '
>>> morceau2 = 'voilà '
>>> phrase = morceau1 + morceau2
>>> phrase
'Et puis voilà '
Cependant, lorsqu'on concatène des chaînes de caractères, l'addition n'est pas commutative :
>>> morceau1 = 'Et puis '
>>> morceau2 = 'voilà '
>>> phrase = morceau2 + morceau1
>>> phrase
'voilà Et puis '
Attention
L'opérateur +
ne peut pas agir sur une chaîne et un entier (ou un autre objet qui n'est pas une chaîne) : cela provoque une erreur.
>>> chaine = 'Voici mon âge : '
>>> age = 16
>>> phrase = chaine + age
File "<stdin>", line 1
phrase = chaine + age
TypeError: can only concatenate str (not "int") to str
Méthode
Pour éviter l'inconvénient évoqué ci-dessus, la fonction str()
permet de convertir certains objets de type non str
en string.
On convertit age
en chaîne de caractères pour pouvoir concaténer avec le reste de la chaîne :
>>> chaine = 'Voici mon âge : '
>>> age = 16
>>> phrase = chaine + str(age)
>>> phrase
'Voici mon âge : 16'
Répétition de chaînes☘
En arithmétique, l'opérateur de multiplication \times est une « écriture raccourcie » de l'opérateur d'addition +.
Ainsi, la multiplication 5 \times 3 correspond à la suite d'additions 3 + 3 + 3 + 3 + 3.
De manière équivalente, on peut répéter (ajouter bout à bout plusieurs fois) une chaîne en la multipliant par un entier avec l'opérateur *
:
>>> mot = 'Beetlejuice '
>>> phrase = mot * 3
>>> phrase
'Beetlejuice Beetlejuice Beetlejuice '
La multiplication par l'entier peut s'effectuer avant ou après la chaîne de caractères :
>>> mot = 'Beetlejuice '
>>> phrase = 3 * mot
>>> phrase
'Beetlejuice Beetlejuice Beetlejuice '