Opérateurs de comparaison
Les comparaisons permettent à votre programme de poser des questions oui/non sur des valeurs :
- Sont-elles identiques ?
 - Celle-ci est-elle plus grande ?
 - Ce nombre se situe-t-il dans une plage donnée ?
 
Une comparaison renvoie un booléen (True ou False) et constitue la base de la logique if/while.
L'essentiel
Python propose six opérateurs de comparaison (==, !=, <, <=, >, >=) pour tester l'égalité et l'ordre entre des valeurs ; chaque comparaison évalue à True ou False.
Égalité — ==
Vérifie si deux valeurs sont identiques.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= assigne une valeur à une variable, tandis que == compare deux valeurs.
Inégalité — !=
Vérifie si deux valeurs sont différentes.
12print(5 != 3) # True print("cat" != "cat") # False
Supérieur à — >
Vrai si la valeur de gauche est strictement supérieure à celle de droite.
12print(7 > 9) # False print(12 > 3) # True
Inférieur à — <
Vrai si la valeur de gauche est strictement inférieure à celle de droite.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Supérieur ou égal à — >=
Vrai si la valeur de gauche est supérieure ou égale à celle de droite.
12print(7 >= 7) # True print(4 >= 9) # False
Inférieur ou égal — <=
Vrai si la valeur de gauche est inférieure ou égale à celle de droite.
12print(10 <= 9) # False print(5 <= 5) # True
Comparaisons chaînées
Python permet d'écrire des intervalles de manière naturelle :
0 < x < 10 signifie « x est supérieur à 0 et inférieur à 10 ».
En interne, cela fonctionne comme (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Cette écriture est claire et évite de répéter x.
Subtilités des nombres à virgule flottante (petites erreurs d'arrondi)
Certains décimaux (comme 0.1) ne peuvent pas être représentés exactement en binaire. C'est pourquoi l'égalité stricte sur les flottants peut donner des résultats inattendus.
1print(0.1 + 0.2 == 0.3) # False in many environments
Lors de la comparaison de flottants pour l'« égalité », privilégier une vérification avec tolérance.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Il ne s'agit pas de dire « exactement égal », mais « suffisamment proche ».
Comparaison de chaînes (casse et ordre)
Les comparaisons de chaînes sont sensibles à la casse et lexicographiques (caractère par caractère selon l'ordre Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Pour des vérifications insensibles à la casse, normaliser d'abord les deux côtés.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Compléter les espaces avec True ou False :
2. Quelle expression unique vérifie correctement que x est compris entre 1 et 5 inclus (en utilisant le chaînage) ?
3. Quelle comparaison de chaînes est True ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain more about how chained comparisons work in Python?
What are some common pitfalls when comparing floating-point numbers?
How do I perform a case-insensitive string comparison in Python?
Awesome!
Completion rate improved to 5
Opérateurs de comparaison
Glissez pour afficher le menu
Les comparaisons permettent à votre programme de poser des questions oui/non sur des valeurs :
- Sont-elles identiques ?
 - Celle-ci est-elle plus grande ?
 - Ce nombre se situe-t-il dans une plage donnée ?
 
Une comparaison renvoie un booléen (True ou False) et constitue la base de la logique if/while.
L'essentiel
Python propose six opérateurs de comparaison (==, !=, <, <=, >, >=) pour tester l'égalité et l'ordre entre des valeurs ; chaque comparaison évalue à True ou False.
Égalité — ==
Vérifie si deux valeurs sont identiques.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= assigne une valeur à une variable, tandis que == compare deux valeurs.
Inégalité — !=
Vérifie si deux valeurs sont différentes.
12print(5 != 3) # True print("cat" != "cat") # False
Supérieur à — >
Vrai si la valeur de gauche est strictement supérieure à celle de droite.
12print(7 > 9) # False print(12 > 3) # True
Inférieur à — <
Vrai si la valeur de gauche est strictement inférieure à celle de droite.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Supérieur ou égal à — >=
Vrai si la valeur de gauche est supérieure ou égale à celle de droite.
12print(7 >= 7) # True print(4 >= 9) # False
Inférieur ou égal — <=
Vrai si la valeur de gauche est inférieure ou égale à celle de droite.
12print(10 <= 9) # False print(5 <= 5) # True
Comparaisons chaînées
Python permet d'écrire des intervalles de manière naturelle :
0 < x < 10 signifie « x est supérieur à 0 et inférieur à 10 ».
En interne, cela fonctionne comme (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Cette écriture est claire et évite de répéter x.
Subtilités des nombres à virgule flottante (petites erreurs d'arrondi)
Certains décimaux (comme 0.1) ne peuvent pas être représentés exactement en binaire. C'est pourquoi l'égalité stricte sur les flottants peut donner des résultats inattendus.
1print(0.1 + 0.2 == 0.3) # False in many environments
Lors de la comparaison de flottants pour l'« égalité », privilégier une vérification avec tolérance.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Il ne s'agit pas de dire « exactement égal », mais « suffisamment proche ».
Comparaison de chaînes (casse et ordre)
Les comparaisons de chaînes sont sensibles à la casse et lexicographiques (caractère par caractère selon l'ordre Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Pour des vérifications insensibles à la casse, normaliser d'abord les deux côtés.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Compléter les espaces avec True ou False :
2. Quelle expression unique vérifie correctement que x est compris entre 1 et 5 inclus (en utilisant le chaînage) ?
3. Quelle comparaison de chaînes est True ?
Merci pour vos commentaires !