Le python landais

Les types de variables.


Plan du chapitre :


1. Les différents types de variables.
2. La concaténation des chaînes de caractères.
3. Comment « assembler » des variables de types différents ?
..... a. Premier exemple
..... b. Second exemple
..... c. Fonctions de conversion du type
..... d. Troisième exemple




1) Les différents types de variables.

Les variables ne contiennent pas forcément des nombres. Elles peuvent aussi stocker des chaînes de caractères et bien d'autres types de données : listes de nombres, valeurs booléennes (vrai ou faux), et bien d'autres types encore.

Tapons dans l'interpréteur :
>>> a = "Hello World ! "
>>> print (a)
En Python, les variables ont toutes un type qui correspend à la nature de la valeur stockée dans la variable : nombre entier, nombre réel, chaîne de caractères, booléen (Vrai ou Faux), …
Contrairement à beaucoup d'autres langages, en Python, il n'est pas nécessaire de déclarer le type des variables lors de leur création : Python attribue automatiquement un type à une variable lors de sa création.
La fonction type() permet de connaître le type d'une variable. Testons ces quelques lignes :
>>> a = "Salut !"
>>> b = 36
>>> c = 5.87
>>> d = '42'
>>> print (type(a))
>>> print (type(b))
>>> print (type(c))
>>> print (type(d))

--> En résumé :


Type Notation Python En Français
Integer int nombre entier
Float float nombre à virgule flottante
String str chaine de caractère
Boolean bool booléen

A retenir :
Les chaînes de caractères se notent entre guillemets ou apostrophes, sauf lors des inputs.



2) La concaténation des chaînes de caractères.

L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation. Le terme concaténation désigne l'action de mettre bout à bout au moins deux chaînes de caractères.
Tapons dans l'interpréteur :
>>> a = "Hello"
>>> b = " World !"
>>> MonExpression = a + b
>>> print (MonExpression)

--> Exercice 1.




3) Comment « assembler » des variables de types différents ?

a) Premier exemple :

Il faut se méfier cependant de ce qui vient d'être dit sur la concaténation : testons maintenant :
>>> a = "Hello"
>>> b = 12
>>> MonExpression = a + b
>>> print (MonExpression)
Comme vous pouvez le constater votre programme renvoie une erreur. En Python, il n'est pas toujours possible d'utiliser le signe + avec des variables de types différents.

--> Exercice 2.



b) Second exemple :

Reprenons l'exemple du programme :
- demander à l'utilisateur son âge.
- calculer l'âge qu'il aura dans deux ans.    
- afficher le message : dans 2 ans, vous aurez : …. ans.
Imaginons que nous disposions de l'âge de notre utilisateur dans deux ans, stocké dans une variable de type entier "age". L'exemple précédent nous porte à penser qu'une instruction finale du genre de :
print ("Dans 2 ans, vous aurez : " + age + " ans.")
va aboutir à un message d'erreur : elle additionne des variables du type chaîne de caractères (entre guillemets), et la variable "age", qui est du type nombre entier.
Python nous donne une solution à ce type de problème avec les fonctions de conversion du type.


c) Fonctions de conversion du type :

Pour remédier au problème évoqué ci-dessus, nous disposons dans Python de fonctions de conversion des variables entre les différents types (dites, "fonctions de transtypage") : Testons les quelques lignes suivantes :
>>> age = 15
>>> print ('Vous avez ' + age + ' ans.')

Puis :
>>> age = 15
>>> age = str(age)
>>> print ('Vous avez ' + age + 'ans.')

--> QCM sur les types de variables.


--> Exercice 3.



d)Troisième exemple :

Comme nous l'avons constaté dans l'exercice 3, le même type de problème se pose lors des saisies au clavier réalisées par l'utilisateur à la suite d'une instruction input() dans le programme :
la fonction input() (utilisée pour demander la valeur d'une variable à l'utilisateur) renvoie toujours une chaîne de caractères.

On souhaite maintenant écrire un programme qui demande à l'utilisateur d'entrer 2 nombres et affiche le résultat de l'addition de ces 2 nombres. Saisir et sauver le programme suivant :
a = input('Premier nombre ?')
b = input('Second nombre ?')
somme = a + b
print(somme)
Testez le programme avec différentes valeurs de a et b :

--> Exercice 4.