Comment utiliser les opérateurs Python non égal et égal



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 et is 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 de objet1 et objet2 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 de objet1 et objet2 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 et is 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 ! 🎉