Les chaînes de caractères sont un type de données composite constitué exclusivement de caractères.
Elles ne sont pas modifiables : il faut créer une nouvelle chaîne, et y recopier ce que l'on souhaite changer.
Elles sont composées d'éléments de n'importe quel type, et sont modifiables.
Python propose un type de données appelé 'tuple, qui est assez semblable à une liste mais qui n'est pas modifiable.
Un tuple est une collection d'éléments séparés par des virgules :
>>> tuple = ('a', 'b', 'c', 'd', 'e') >>> print tuple ('a', 'b', 'c', 'd', 'e')
Les parenthèses ne sont pas nécessaire, mais conseillées. Par contre, il faut toujours au moins une virgule pour définir un tuple :
>>> tuple = ('a',)
Les tuples acceptent les mêmes opérations que les listes :
>>> print tuple[2:4] ('c', 'd') >>> tuple = ('André',) + tuple[1:] >>> print tuple ('André', 'b', 'c', 'd', 'e')
tant que ces opération ne cherchent pas à modifier le tuple...
>>> tuple[1:3] = ('x', 'y') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
Les tuples sont donc préférables aux listes partout où l'on veut être certain que les données transmises ne soient pas modifiées par erreur au sein d'un programme.
En outre, les tuples sont moins « gourmands » en ressources système (ils occupent moins de place en mémoire).