1.4. Le texte pour le dialogue

1.4.1. Les données textuelles

Lorsque l’on programme, on doit souvent manipuler différents types de données. Nous venons de voir quelques opérations avec des données de type numérique, et nous allons maintenant voir comment traiter des données de type textuel. Cela nous permettra d’interagir avec l’utilisateur sous forme de messages compréhensibles par un être humain.

Les données textuelles sont généralement désignées sous le nom de chaînes de caractères, ou plus simplement de chaînes, car il s’agit de séquences de caractères rangés les uns à côté des autres dans un ordre précis, comme les maillons d’une chaîne.

Le contenu d’une chaîne de caractères s’écrit en Python entre des guillemets simples (') ou doubles (") afin de ne pas le confondre avec des instructions ou d’autres types de données. Lorsque l’on écrit une chaîne de caractères dans la console, la console répond simplement en affichant cette chaîne en retour.

>>> "Je suis une chaîne de caractères !"
'Je suis une chaîne de caractères !'
>>> 'Moi aussi !'
'Moi aussi !'
>>> "3+5"
'3+5'
>>> 3+5
8

Note

Remarquez la différence entre d’un côté "3+5" qui est une chaîne de caractère contenant dans l’ordre les caractères 3, + et 5, et de l’autre côté 3+5 qui est une instruction contenant l’opérateur arithmétique d’addition s’appliquant aux deux valeurs numériques 3 et 5.

1.4.2. Affichage dans la console

La fonction print() permet d’afficher des éléments dans la console. On indique la valeur à afficher entre les deux parenthèses.

>>> print("Bonjour le monde !")
Bonjour le monde !
>>> print(15 % 6)
3

Bien que l’utilisation de print() soit facultative en mode REPL, elle ne l’est pas lorsque l’on souhaite afficher des valeurs dans la console depuis un script. Considérez donc son emploi dans l’invite de commandes comme une bonne pratique. De plus, on peut remarquer que les chaînes de caractères affichées par print() ne sont pas entourées de guillemets, ce qui résulte en un rendu plus épuré.

1.4.3. Composition de chaînes

L’opération qui consiste à mettre bout à bout plusieurs chaînes de caractères s’appelle la concaténation. Elle s’effectue grâce à l’opérateur +.

>>> print("Bonjour" + " le monde !")
Bonjour le monde !

Note

Bien qu’il s’agisse du même symbole, l’opérateur + joue dans ce contexte un rôle différent de celui de l’addition de valeurs numériques. Additionner une chaîne de caractères et un nombre n’aurait en effet que peu de sens. En cas d’utilisation incorrecte de l’opérateur + avec des données numériques et textuelles mélangées, Python affichera un message d’erreur indiquant une erreur de type.

>>> print("Le nombre magique est " + 3)
Traceback (most recent call last):
  File "<input>", line...
TypeError: can only concatenate str (not "int") to str
>>> print("Le nombre magique est " + "3")
Le nombre magique est 3

Il est possible de concaténer une chaîne avec elle-même autant de fois que souhaité grâce à l’opérateur * suivi d’un nombre entier.

>>> print("ha " * 4 + "!")
ha ha ha ha !

1.4.4. Mémorisation des données

Comme pour les valeurs numériques, on peut mémoriser une chaîne de caractères dans une variable en lui assignant un nom grâce à l’opérateur =. Cela permet de la réutiliser plusieurs fois sans devoir la réécrire.

>>> dish = 'lasagnes'
>>> print(dish)
lasagnes
>>> print(dish + dish)
lasagneslasagnes
>>> print(dish * 5)
lasagneslasagneslasagneslasagneslasagnes
>>> print('Voici mon plat préféré: ' + dish)
Voici mon plat préféré: lasagnes