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

Publié: 2022-01-29

En Python, vous pouvez utiliser les opérateurs différent de et égal à pour vérifier si deux objets Python ont la même valeur. Ce didacticiel vous apprendra à utiliser ces opérateurs avec de nombreux exemples de code.

Dans ce didacticiel, vous apprendrez :

  • la syntaxe de l'opérateur non égal ( != ) et les cas d'utilisation,
  • la syntaxe de l'opérateur égal ( == ) avec des exemples, et
  • l'utilisation des opérateurs is et is not pour vérifier l'identité de deux objets Python.

Commençons.

Syntaxe de l'opérateur Python non égal

Pour deux objets Python obj1 et obj2 , la syntaxe générale pour utiliser l'opérateur non égal est :

 <obj1> != <obj2>
  • renvoie True lorsque les valeurs de obj1 et obj2 ne sont pas égales, et
  • renvoie False le cas contraire.

Remarque : Comme mentionné ci-dessus, obj1 et obj2 peuvent être des nombres entiers, des nombres à virgule flottante, des chaînes, des listes, etc.

Exemples de code d'opérateur Python non égal

Dans cette section, codons quelques exemples pour mieux comprendre l'opérateur non égal .

Utilisation de l'opérateur Python non égal pour la comparaison

Voici notre premier exemple.

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

Vous pouvez exécuter les exemples de code sur l'IDE Geekflare Python, directement depuis votre navigateur. Ou vous pouvez choisir d'exécuter sur votre machine locale.

Comme num1 = 27 et que num2 également évalué à 27 ( 3*9 = 27 ), les valeurs de num1 et num2 sont égales. Ainsi, l'opérateur != renvoie False .

Prenons un autre exemple.

Dans le code ci-dessous, num1 est défini sur 7. Et num2 est défini sur la chaîne 7. Comme ils sont de types de données différents, l' opérateur différent renvoie True .

 num1 = 7 num2 = "7" num1 != num2 # Output: True

Vous convertissez la chaîne en entier, comme indiqué :

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

Dans ce cas, vous pouvez voir que le résultat renvoyé est False , car num1 et num2 sont désormais égaux à l'entier 7.

Vous pouvez également utiliser l'opérateur non égal avec des collections Python telles que des listes, des tuples et des ensembles.

Remarque : Pour les collections de données telles que les listes, l'opérateur non égal fonctionne en vérifiant les valeurs des éléments individuels. Par exemple, deux listes list1 et list2 — chacune de longueur n — ne sont égales que si list1[i] == list2[i] for i in {0,1,2,3,..n-1} .

Voici un exemple :

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

Dans l'exemple ci-dessus, list1 et list2 diffèrent par un seul élément. Et l'opérateur non égal != renvoie True comme prévu.

Utilisation de l'opérateur Python non égal dans les conditions

Vous utiliserez souvent l'opérateur différent de dans le cadre des conditions Python.

Par exemple, l'extrait de code ci-dessous montre comment vous pouvez vérifier si un nombre est impair ou non.

Un nombre qui n'est pas divisible par 2 est impair . Et cela se réduit à la condition num%2 != 0 .

 num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.

Vous pouvez également utiliser des conditions dans les compréhensions de liste lorsque vous souhaitez conserver uniquement les éléments de liste qui remplissent une condition spécifique. Dans l'exemple ci-dessous, odd_10 est la liste de tous les nombres impairs inférieurs à 10.

 odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]

Et cela termine notre discussion sur l'opérateur non égal ( != ).

Comme vous l'avez peut-être deviné, l'opérateur égal à produit l'effet opposé de l'opérateur différent de.

Vous en apprendrez plus à ce sujet dans la section suivante.

Syntaxe de l'opérateur d'égalité Python

Voici la syntaxe pour utiliser l'opérateur égal à de Python :

 <obj1> == <obj2>  #where <obj1> and <obj2> are valid Python objects
  • renvoie True lorsque les valeurs de obj1 et obj2 sont égales, et
  • renvoie False le cas contraire.

Exemples de code d'opérateur égal Python

L'opérateur égal ( == ) peut être utilisé de manière très similaire à l'opérateur non égal .

Codons les exemples suivants :

  • pour vérifier si deux chaînes sont égales,
  • pour vérifier si un nombre est pair, et
  • utiliser des conditions dans la compréhension de liste

Utilisation de l'opérateur Python non égal pour la comparaison

Dans l'extrait de code ci-dessous, str1 et str2 sont égaux en termes de valeur. Ainsi, l'opérateur égal ( == ) renvoie True .

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-equals-operator
Opérateur égal Python

Utilisons maintenant l'opérateur égal dans une expression conditionnelle.

Remarque : Un nombre qui est également divisible par 2 est pair . Et dans le code, cela se réduit à la condition num%2 == 0

 num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.

Construisons maintenant sur cet exemple, utilisons la compréhension de liste de Python pour obtenir tous les nombres pairs inférieurs à 10.

 even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]

Dans l'exemple ci-dessus,

  • range(10) renvoie un objet range qui peut être bouclé pour obtenir tous les entiers de 0 à 9.
  • La condition num%2 == 0 est True uniquement pour les nombres pairs.
  • Donc even_10 est la liste de tous les nombres pairs inférieurs à 10.

Jusqu'à présent, vous avez appris à vérifier l' égalité à l'aide des opérateurs non égal ( != ) et égal ( == ).

Dans la section suivante, vous apprendrez à vérifier l' identité de deux objets. Vous allez vérifier si deux objets Python sont identiques .

Comment utiliser Python est et n'est pas les opérateurs

Si vous êtes débutant en programmation Python, il est possible que vous soyez confus entre les opérateurs == et is . Clarifions cela dans cette section.

Dans la section précédente, nous avions un exemple où str1 et str2 égaux et l'opérateur == renvoyait True .

Exécutez maintenant l'extrait de code suivant.

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

Vous pouvez voir que str1 is str2 renvoie False .

Prenons du recul et comprenons ce que fait l'opérateur is de Python.

L'opérateur is opère sur deux objets Python quelconques.
Et renvoie True uniquement si les deux objets sont identiques , c'est-à-dire qu'ils font référence au même objet en mémoire.

Même si str1 est égal à str2 , str1 n'est pas str2 car ils pointent vers deux objets différents en mémoire. Et donc, ils ont des identités différentes.

python-est-opérateur
== et ce n'est PAS la même chose

En Python, vous pouvez utiliser la fonction id() pour obtenir l'identité de l'objet.

Exécutez la cellule de code suivante pour obtenir les identités de str1 et str2 .

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

Comme vous pouvez le voir, str1 et str2 ont des identités différentes. Et str1 is str2 renvoie False comme prévu.

Mettre ensemble,

 <obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True

Vérifions cela rapidement, comme indiqué :

 str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True

Intuitivement, l'opérateur is not fait le contraire de l'opérateur is .

L'opérateur is not opère sur deux objets Python quelconques.
Et renvoie False uniquement si les deux objets sont identiques , c'est-à-dire qu'ils font référence au même objet en mémoire. Sinon, il renvoie True .

Dans les exemples de code ci-dessus, essayez de remplacer is par is not et vérifiez les résultats.

Conclusion

J'espère que vous avez trouvé ce tutoriel utile.

Pour résumer, vous avez appris :

  • comment utiliser les opérateurs égal ( == ) et non égal ( != ) pour vérifier si deux objets Python ont la même valeur,
  • la différence entre l'égalité et l' identité des objets Python, et
  • comment Python is et is not les opérateurs aident à vérifier si deux objets Python sont identiques.

Apprenez à calculer le décalage horaire ou à créer un jeu de serpent en python ici.

Rendez-vous tous dans le prochain tutoriel. D'ici là, bon apprentissage et bon codage !