Python - Opérateurs de comparaison : Guide convivial pour les débutants

Bonjour à toi, aspirant programmeur Python ! Je suis ravi de te guider dans ce voyage passionnant dans le monde des opérateurs de comparaison. Ayant enseigné Python pendant des années, je peux te garantir que maîtriser ces concepts sera un véritable changement de jeu dans ton aventure de programmation. Alors, plongeons-y !

Python - Comparison Operators

Qu'est-ce qu'un opérateur de comparaison ?

Imagine que tu es un arbitre dans un match de basket. Ton travail consiste à comparer les scores, la taille des joueurs ou même le temps restant sur le chronomètre. En Python, les opérateurs de comparaison jouent un rôle similaire – ils nous aident à comparer des valeurs et à prendre des décisions basées sur ces comparaisons.

Différents opérateurs de comparaison en Python

Commençons par un tableau pratique de tous les opérateurs de comparaison que nous explorerons :

Opérateur Nom Exemple
== Égal à x == y
!= Différent de x != y
> Supérieur à x > y
< Inférieur à x < y
>= Supérieur ou égal à x >= y
<= Inférieur ou égal à x <= y

Maintenant, analysons-les un par un avec quelques exemples amusants !

L'opérateur égal à (==)

x = 5
y = 5
print(x == y)  # Sortie : True

name1 = "Alice"
name2 = "Bob"
print(name1 == name2)  # Sortie : False

Ici, nous demandons à Python, "x est-il le même que y ?" Dans le premier cas, les deux sont égaux à 5, donc c'est True. Pour les noms, Alice et Bob sont différents, donc c'est False.

L'opérateur différent de (!=)

age1 = 25
age2 = 30
print(age1 != age2)  # Sortie : True

favorite_color = "blue"
print(favorite_color != "green")  # Sortie : True

Cet opérateur est comme demander, "Est-ce différent de cela ?" Il est True si les valeurs sont différentes, False si elles sont les mêmes.

Les opérateurs supérieur à (>) et inférieur à (<)

temperature = 28
print(temperature > 25)  # Sortie : True
print(temperature < 30)  # Sortie : True

alphabet = "abc"
print("d" > alphabet)  # Sortie : True

Ces opérateurs fonctionnent tout comme en mathématiques. Mais remarque comme nous pouvons même comparer des chaînes de caractères ! Python les compare en fonction de leur ordre alphabétique.

Les opérateurs supérieur ou égal à (>=) et inférieur ou égal à (<=)

score = 85
print(score >= 80)  # Sortie : True
print(score <= 90)  # Sortie : True

print("apple" <= "banana")  # Sortie : True

Ces opérateurs sont similaires à > et <, mais ils retournent également True si les valeurs sont égales.

Comparaison de nombres flottants

Comparer des nombres flottants peut être délicat en raison de leurs problèmes de précision. Regardons un exemple :

x = 0.1 + 0.2
y = 0.3
print(x == y)  # Sortie : False

Attends, quoi ? 0.1 + 0.2 ne devrait-il pas être égal à 0.3 ? Bienvenue dans le monde fascinant de l'arithmétique en virgule flottante ! En raison de la manière dont les ordinateurs représentent les décimales, il y a parfois de petites inexactitudes. Pour des comparaisons pratiques, nous pouvons utiliser la fonction round() ou une petite tolérance :

print(round(x, 1) == round(y, 1))  # Sortie : True

tolerance = 0.0001
print(abs(x - y) < tolerance)  # Sortie : True

Comparaison de nombres complexes

Python nous permet même de travailler avec des nombres complexes ! Cependant, les comparer directement avec < ou > n'a pas beaucoup de sens mathématiquement, donc Python ne le permet pas :

a = 1 + 2j
b = 3 + 4j
print(a == b)  # Sortie : False
# print(a < b)  # Cela leverait une erreur !

Nous pouvons cependant comparer leurs magnitudes :

print(abs(a) < abs(b))  # Sortie : True

Comparaison de booléens

Les booléens sont simples - True est considéré supérieur à False :

print(True > False)  # Sortie : True
print(True == 1)  # Sortie : True
print(False == 0)  # Sortie : True

Ce dernier point peut te surprendre - en Python, True est en réalité équivalent à 1, et False à 0 !

Comparaison des types de séquences

Lorsque l'on compare des séquences telles que des listes, des tuples ou des chaînes de caractères, Python les compare élément par élément :

print([1, 2, 3] < [1, 2, 4])  # Sortie : True
print("hello" < "hello world")  # Sortie : True
print((1, 2, 3) == (1, 2, 3))  # Sortie : True

Python commence par le début et compare chaque élément jusqu'à ce qu'il trouve une différence ou atteigne la fin.

Comparaison des objets dictionnaire

Les dictionnaires sont un peu spéciaux. Tu peux vérifier s'ils sont égaux, mais tu ne peux pas utiliser <, >, <= ou >= avec eux :

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 2, "a": 1}
print(dict1 == dict2)  # Sortie : True

# print(dict1 < dict2)  # Cela leverait une erreur !

Intéressamment, l'ordre des clés ne compte pas pour la comparaison d'égalité dans les dictionnaires.

Et voilà ! Tu viens de terminer un tourbillon du guide des opérateurs de comparaison de Python. Souviens-toi, la pratique fait le maître, alors n'hésite pas à expérimenter avec ces concepts dans ton propre code. Avant que tu ne te rendes compte, tu seras en train de comparer et de contraster avec les meilleurs d'entre eux !

Bon codage, et que tes comparaisons soient toujours True lorsque tu le souhaites !

Credits: Image by storyset