Les Opérateurs de Comparaison en Python : Égalité et Différence
En Python, la comparaison de valeurs est une opération fondamentale. Vous pouvez évaluer si deux éléments ont la même valeur en utilisant les opérateurs « égal à » et « différent de ». Ce guide vous expliquera comment employer ces opérateurs en pratique à travers de nombreux exemples.
Dans cet article, vous découvrirez :
- La syntaxe et les applications de l’opérateur « différent de » (
!=
), - L’utilisation de l’opérateur « égal à » (
==
) illustrée par des exemples, - Comment vérifier l’identité de deux objets Python avec les opérateurs
is
etis not
.
Commençons sans plus tarder.
L’Opérateur « Différent De » en Python : Syntaxe
Pour comparer deux objets Python, appelons-les objet1
et objet2
, la structure générale avec l’opérateur « différent de » est la suivante :
objet1 != objet2
- Cette expression renvoie
True
si les valeurs deobjet1
etobjet2
sont distinctes. - Elle renvoie
False
si les valeurs sont identiques.
À noter que objet1
et objet2
peuvent être des nombres entiers, des nombres décimaux, des chaînes de caractères, des listes ou d’autres types de données.
Exemples d’Utilisation de l’Opérateur « Différent De »
Voyons maintenant quelques cas d’utilisation pour une meilleure compréhension.
Comparaison de Valeurs avec « Différent De »
Voici un premier exemple :
nombre1 = 27
nombre2 = 3 * 9
nombre1 != nombre2
# Résultat : False
Vous pouvez tester ces exemples directement dans l’IDE Python de toptips.fr, ou bien sur votre propre machine.
Ici, nombre1
vaut 27 et nombre2
est aussi égal à 27 (car 3 * 9 = 27). Les deux valeurs étant identiques, l’opérateur !=
retourne False
.
Voici un autre exemple :
Dans ce cas, nombre1
est un entier (7), et nombre2
est une chaîne de caractères (« 7 »). Étant de types différents, l’opérateur « différent de » renvoie True
.
nombre1 = 7
nombre2 = "7"
nombre1 != nombre2
# Résultat : True
Si vous convertissez la chaîne en entier, comme ci-dessous :
nombre1 = 7
nombre2 = int("7")
nombre1 != nombre2
# Résultat : False
Le résultat devient False
, car nombre1
et nombre2
valent désormais 7 (en tant qu’entiers).
L’opérateur !=
peut aussi être utilisé avec des collections, telles que les listes, les tuples et les ensembles.
Remarque importante : pour les collections de données, la comparaison se fait élément par élément. Ainsi, deux listes, liste1
et liste2
, de taille n, sont considérées comme égales si liste1[i] == liste2[i]
pour chaque i de 0 à n-1.
Exemple :
liste1 = [2, 4, 6, 8]
liste2 = [2, 4, 6, 9]
liste1 != liste2
# Résultat : True
Dans cet exemple, liste1
et liste2
diffèrent par un seul élément, donc !=
retourne True
.
Utilisation de « Différent De » dans les Instructions Conditionnelles
L’opérateur « différent de » est souvent utilisé dans les conditions if
.
Par exemple, voici comment déterminer si un nombre est impair :
Un nombre non divisible par 2 est un nombre impair, ce qui se traduit par nombre % 2 != 0
.
nombre = 7
if nombre % 2 != 0:
print("Le nombre est impair.")
else:
print("Le nombre est pair.")
# Résultat : Le nombre est impair.
Vous pouvez aussi utiliser des conditions dans les listes en compréhension pour ne garder que les éléments qui vérifient une condition. Voici un exemple où impairs_10
contient tous les nombres impairs inférieurs à 10 :
impairs = [nombre for nombre in range(10) if nombre % 2 != 0]
print(impairs)
# Résultat : [1, 3, 5, 7, 9]
Voilà qui conclut notre exploration de l’opérateur !=
. ✅
Comme vous l’avez peut-être deviné, l’opérateur « égal à » a un effet inverse.
Découvrons cela dans la section suivante.
L’Opérateur « Égal À » en Python : Syntaxe
Voici la syntaxe pour utiliser l’opérateur « égal à » de Python :
objet1 == objet2 # où objet1 et objet2 sont des objets Python valides
- Cette expression renvoie
True
si les valeurs deobjet1
etobjet2
sont identiques. - Elle retourne
False
dans le cas contraire.
Exemples d’Utilisation de l’Opérateur « Égal À »
L’opérateur ==
est utilisé de manière similaire à !=
.
Voici quelques exemples d’utilisation :
- comparaison de chaînes de caractères,
- vérification si un nombre est pair, et
- utilisation dans une liste en compréhension
Comparaison avec l’Opérateur « Égal À »
Ici, chaine1
et chaine2
ont la même valeur. L’opérateur ==
renvoie donc True
.
chaine1 = "coder"
chaine2 = "coder"
chaine1 == chaine2
# Résultat : True
L’opérateur « égal à » en action.
Utilisons maintenant cet opérateur dans une instruction conditionnelle.
Rappel : Un nombre divisible par 2 est pair. Cela se traduit par la condition nombre % 2 == 0
.
nombre = 10
if nombre % 2 == 0:
print("Le nombre est pair.")
else:
print("Le nombre est impair.")
# Résultat : Le nombre est pair.
Construisons sur cet exemple. Utilisons la liste en compréhension pour obtenir tous les nombres pairs inférieurs à 10.
pairs_10 = [nombre for nombre in range(10) if nombre % 2 == 0]
print(pairs_10)
# Résultat : [0, 2, 4, 6, 8]
Dans cet exemple :
range(10)
crée une séquence de nombres de 0 à 9.nombre % 2 == 0
est vrai seulement pour les nombres pairs.pairs_10
est la liste de tous les nombres pairs inférieurs à 10.
Vous avez appris à vérifier l’égalité avec les opérateurs !=
et ==
.
La section suivante porte sur la vérification de l’identité, c’est-à-dire si deux objets Python sont le même objet.
Les Opérateurs « is
» et « is not
«
Si vous débutez en Python, la différence entre ==
et is
peut être floue. Clarifions cela.
Plus haut, chaine1 == chaine2
était vrai. Regardez maintenant l’extrait de code suivant :
chaine1 = "coder"
chaine2 = "coder"
chaine1 is chaine2
# Résultat : False
chaine1 is chaine2
renvoie False
.
L’opérateur is
vérifie si deux objets sont en réalité le même objet, c’est-à-dire s’ils pointent vers la même zone de mémoire.
Même si chaine1 == chaine2
, chaine1 is chaine2
est faux, car ils sont stockés à des emplacements de mémoire différents.
==
et is
ne sont PAS la même chose.
En Python, la fonction id() retourne l’identifiant d’un objet (son adresse mémoire).
▶ Exécutez ce code pour voir les identifiants de chaine1
et chaine2
.
id(chaine1)
# Exemple de résultat : 139935398870320
id(chaine2)
# Exemple de résultat : 139935398871344
Les identifiants de chaine1
et chaine2
sont différents. Donc chaine1 is chaine2
est bien False
.
En résumé :
objet1 is objet2 # renvoie True si et seulement si
id(objet1) == id(objet2) # renvoie True
Vérifions cela :
chaine1 = "coder"
chaine2 = chaine1
print(chaine1 is chaine2)
print(id(chaine1) == id(chaine2))
# Résultat
True
True
L’opérateur is not
est l’opposé de is
.
Il renvoie False
si les objets sont identiques (même adresse mémoire), et True
sinon.
Testez l’exemple précédent en remplaçant is
par is not
.
Conclusion 👩💻
J’espère que ce tutoriel vous a été utile.
En résumé, vous avez appris :
- À utiliser les opérateurs
==
et!=
pour comparer les valeurs de deux objets. - La différence entre égalité (
==
) et identité (is
) des objets. - Comment les opérateurs
is
etis not
permettent de vérifier si deux objets sont le même objet.
Vous pouvez maintenant découvrir comment calculer le décalage horaire ou créer un jeu de serpent en Python.
À bientôt pour un nouveau tutoriel. D’ici là, bon apprentissage et bon code ! 🎉