Livre_silo 30 août 2013 16:32 Page 65
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
65
3 – Expressions : types et opérations
Les opérateurs and et or sont dits paresseux : ils ne calculent que ce qui est nécessaire pour
évaluer une expression. Par exemple :
In [36]: 0 != 0 and 1/0 == 2
Out[36]: False
Le booléen situé à gauche de and valant False, celui de droite n’est pas évalué. Écrite dans
l’ordre inverse, l’expression aurait produit une erreur de division par zéro. De même, l’opérateur or n’ évalue pas son membre droit si son membre gauche vaut True.
Précédence des opérateurs sur les booléens
L’opérateur not a précédence sur or et and.
In [37]: not True or True
Out[37]: True
In [38]: not (True or True)
Out[38]: False
L’opérateur and a précédence sur or.
In [39]: True or False and False
Out[39]: True
In [40]: (True or False) and False
Out[40]: False
Opérateurs de comparaison
L’apparition la plus fréquente de booléens se fait lors de comparaisons d’autres types.
La comparaison la plus élémentaire est le test d’égalité. L’expression e1 == e2 s’évalue au
booléen True si e1 et e2 s’évaluent à des valeurs égales, sinon elle s’évalue à False.
In [41]: 1 == 3 - 2
Out[41]: True
In [42]: 1 == 0
Out[42]: False
Python dispose d’un raccourci pour l’expression not (e1 == e2), à savoir e1 != e2.
ATTENTION L’égalité et les flottants
C’est l’occasion de constater que, conformément à ce qui a été vu au chapitre 2, les flottants
ne sont pas des représentations exactes des nombres décimaux.
¯
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
65
3 – Expressions : types et opérations
Les opérateurs and et or sont dits paresseux : ils ne calculent que ce qui est nécessaire pour
évaluer une expression. Par exemple :
In [36]: 0 != 0 and 1/0 == 2
Out[36]: False
Le booléen situé à gauche de and valant False, celui de droite n’est pas évalué. Écrite dans
l’ordre inverse, l’expression aurait produit une erreur de division par zéro. De même, l’opérateur or n’ évalue pas son membre droit si son membre gauche vaut True.
Précédence des opérateurs sur les booléens
L’opérateur not a précédence sur or et and.
In [37]: not True or True
Out[37]: True
In [38]: not (True or True)
Out[38]: False
L’opérateur and a précédence sur or.
In [39]: True or False and False
Out[39]: True
In [40]: (True or False) and False
Out[40]: False
Opérateurs de comparaison
L’apparition la plus fréquente de booléens se fait lors de comparaisons d’autres types.
La comparaison la plus élémentaire est le test d’égalité. L’expression e1 == e2 s’évalue au
booléen True si e1 et e2 s’évaluent à des valeurs égales, sinon elle s’évalue à False.
In [41]: 1 == 3 - 2
Out[41]: True
In [42]: 1 == 0
Out[42]: False
Python dispose d’un raccourci pour l’expression not (e1 == e2), à savoir e1 != e2.
ATTENTION L’égalité et les flottants
C’est l’occasion de constater que, conformément à ce qui a été vu au chapitre 2, les flottants
ne sont pas des représentations exactes des nombres décimaux.
¯
