Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > Python > Apprenons Python ! > Le début, la base de tout... > Ne mélangez pas torchons et serviettes > Lecture du tutoriel

Ne mélangez pas torchons et serviettes

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Auteurs : Communauté Pythonienne, iPoulet et Pmol
Note : 17 / 20 (8 votes)
Visualisations : 35 862

Plus d'informations Plus d'informations
Vous est-il déjà arrivé de vous sécher les mains avec le torchon qui est destiné au chien ? Ou d'essuyer les pattes de votre chien avec la belle serviette en soie de maman ?
Imaginez, vous avez 3 serviettes en soie et 1 torchon pour le chien.
Si votre mère vous demande un jour combien de serviettes il y a dans la salle de bains, vous ne pouvez pas lui répondre 4, on ne mélange pas les torchons et les belles serviettes. Hé ben pour les variables c'est pareil. On ne mélange pas les types, on n'additionne pas des chiffres avec des chaînes de caractères, et on ne commet pas non plus d'autres barbaries innommables.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Toute chose a un type

Essayez donc ça :
Code : Python
1
"Je suis un boss en python !" + 25

Une jolie erreur apparaît :
Code : Console
TypeError: cannot concatenate 'str' and 'int' objects

Le premier mot nous indique que l'erreur est une erreur de type. Après, python nous indique qu'il ne peut pas concaténer (un verbe compliqué qui veut dire "additionner des chaînes", pour rester simple) le type 'str', avec le type 'int'.
Heu... C'est quoi un type ? :o

Sachez tout d'abord que lorsque vous créez une variable, que vous voulez afficher quelque chose (comme dans l'exemple), etc... tout a un type.
Une poire est une poire. Ce n'est pas une pomme.
Au début (et même après ^^ ), vous aurez souvent ce genre d'erreurs.
Et le type str et int c'est quoi ?

Une chaîne de caractères, qui est délimitée par des guillemets, est de type str. C'est un mot raccourci pour dire "string". Quand vous demandez à Python d'afficher "Je suis un boss en python !", il affiche en fait une chaîne de caractères, et lui-même le définit comme un "objet" de type "str". C'est très pointu (mais très intéressant) et nous verrons toute cette partie de Python beaucoup plus tard.
Un nombre est de type int. Ça veut dire "integer". Il n'y a pas de virgule. Un nombre integer est, par définition, entier. S'il y a une virgule (un point, car Python est anglophone), alors ce nombre devient de type float. Le type float garde jusqu'a 15 chiffres après la virgule. Après, il arrondit.
Si vous divisez un nombre de type float, alors Python donnera le résultat avec ce qu'il y a derrière la virgule :
Code : Python
1
25. / 2

Code : Console
12.5

Notez le . après 25. Il indique à Python que 25 est de type float.
Quand vous demandez à Python d'afficher "Je suis un boss en python !", il affiche en fait une chaîne de caractères. Mais si vous lui demandez :
Code : Python
1
print 25

Dans ce cas, il affiche une donnée de type integer. Vous pouvez lui dire :
Code : Python
1
2
3
4
a = 25
b = 65.
c = "Hello Maman !"
print a, b, c

Affichera tout d'abord 25, de type int, puis 65., de type float, et enfin "Hello Maman !", de type str. La fonction print n'influe en rien sur le type des données qu'elle affiche.
Faites très attention aux types. Les erreurs de typage sont souvent les premiers bugs qu'un programmeur doit éliminer dans son code - et c'est souvent fastidieux.

Ne mélangeons pas tout

Comme vous venez de l'apprendre, tout a un type.
Le problème, c'est qu'il y a des choses possibles avec un certain type qu'on ne peut pas faire avec d'autres...
Tenez, une addition. Si vous demandez à Python d'additionner deux nombres (de type int, par exemple), ça marchera :
Code : Console
>>> 1+2

3

Vous pouvez aussi additionner des float entre eux, et des int avec des float :
Code : Console
>>> 1.789 + 2.12012

3.9091199999999997

>>> 1.+25

26.0

Mais si vous essayez d'ajouter 2 à "Je suis un Zer0", Python se fâche (la même erreur qu'au début de la sous-partie).
Il y a donc des règles qui régissent les opérations entre les différents types... Mais lesquelles ?

Ce que l'on peut faire



Vous pouvez :

Nous reviendrons sur ces opérations avec plus de détails :)

Ce que l'on ne peut pas faire



Ce qu'il faut retenir !

Tout a un type. Ici, nous n'en voyons que quelques-uns, naturellement Python présente des types adaptés à toutes les situations.

Nom du TypeC'est quoi ?ParticularitésOpérations possibles
str
Chaîne de caractères Délimité par des guillemets
str + str | str * int
int
Nombre entier
Nombre entier
int + int | int - int | int * int | int / int | int + float | int - float | int * float | int / float | str * int
float
Nombre a virgule
Nombre a virgule
float + float | float - float | float * float | float / float | int + float | int - float | int * float | int / float


Ne retenez pas tout ^^ . Ce tableau vous servira de récapitulatif. Quand vous aurez un problème, regardez si le problème ne vient pas de là. ;)
Pas d'exercices pour cette partie. Pratiquez, codez des petits programmes, ils vous serviront d'exercices ! :)

Q.C.M.

<code type="python">
"J'aime les sardines" + " et les crevettes"
</code>
Ce code est-il correct ?
<code type="python">
a = "Test"
b = 2* 2.5
print a * b
</code>
Que faudrait-il écrire, en ayant le code le plus court possible, pour avoir cette phrase ?
Code : Console
"Bouh HelloYou HelloYou HelloYou Bouh "

Statistiques de réponses au QCM


Chapitre précédent Sommaire Chapitre suivant
Retour en haut Retour en haut


Créé : le 02/07/2006 à 19:20:11
Modifié : le 22/08/2008 à 15:53:37
Avancement : 85%
Licence : Copie non autorisée

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 729 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.1615s (0.1452s)