Les variables peuvent contenir autre chose que des nombres. Elles peuvent aussi contenir des suites de caractères, que l'on appelle "chaîne de caractères".
Tester le code suivant
maChaine="Bonjour le monde !"
print(maChaine)
Les variables peuvent donc contenir des types de données différents, pour l'instant nous en avons vu deux :
Il existe d' autres types de variables :
En Python les variables ont un type, mais le programmeur n'est pas obligé de préciser ce type.
Il existe beaucoup de langage (C++, Java...) où l'utilisateur doit absolument définir le type d'une variable avant de pouvoir l'utiliser, faute de quoi cela entraînera une erreur.
L'instruction "type" vous permet de connaître le type d'une variable.
Tester ce programme à l'aide de IDLE ou de Python fiddle.
a="Salut !"
b=567
c=5.87
print(type(a))
print(type(b))
print(type(c))
Comme vous pouvez le constater, la variable a est de type "chaînes de caractères" (str pour string), la variable b est de type "nombre entier" (int pour integer) et la variable c est de type "nombre à virgule flottante" (float).
Alors, que se passe-t-il ?
L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation.
D'après Wikipédia :
« Le terme concaténation (substantif féminin), du latin cum («avec») et catena(«chaîne, liaison»), désigne l'action de mettre bout à bout au moins deux chaînes. »
Comme vous avez pu le deviner en lisant la définition ci-dessus, la concaténation va concerner les chaînes de caractères.
Qu'est-ce que le programme suivant va permettre d'afficher à l'écran ? Validez votre réponse à l'aide de IDLE ou de Python fiddle.
a="Hello"
b="World"
monExpression=a+b
print(monExpression)
Soit une variable a de type string, une variable b de type int et une variable c=a+b.
Dans ce cas précis, le signe + est-il le signe de la concaténation ou de l'addition ? La variable c est-elle de type string, de type int ou d'un autre type ?
Écrire un programme permettant de répondre à ces questions. Répondre aux questions en exécutant ce programme.
Comme vous pouvez le constatez votre programme renvoie une erreur.
En Python, il n'est pas possible d'utiliser le signe + avec des variables de type différent (par exemple, soit a+b, il n'est pas possible d'avoir a de type string et b de type int)