Aller au contenu

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 '