En Python, vous pouvez utiliser les opérateurs not equal to et equal to pour vérifier si deux objets Python ont la même valeur. Ce tutoriel vous apprendra à utiliser ces opérateurs à l’aide de nombreux exemples de code.
Dans ce tutoriel, 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
etis not
pour vérifier l’identité de deux objets Python.
Commençons.
Syntaxe de l’opérateur Not Equal de Python
Pour deux objets Python obj1
et obj2
, la syntaxe générale pour utiliser l’opérateur non égal est la suivante :
<obj1> != <obj2>
- renvoie
True
lorsque les valeurs deobj1
etobj2
ne sont pas égales, et - renvoie
False
dans le cas contraire.
Remarque: comme indiqué ci-dessus,
obj1
etobj2
peuvent être des entiers, des nombres à virgule flottante, des chaînes de caractères, des listes, etc.
Exemples de code de l’opérateur Not Equal en Python
Dans cette section, nous allons coder quelques exemples pour mieux comprendre l’opérateur pas égal.
Utilisation de l’opérateur Python Not Equal pour la comparaison
Voici notre premier exemple.
num1 = 27
num2 = 3*9
num1 != num2
# Sortie : Faux
Vous pouvez exécuter les exemples de code sur l’IDE Geekflare Python directementdepuis votre navigateur. Vous pouvez également choisir de les exécuter sur votre machine locale.
Comme num1 = 27
, et que num2
est aussi évalué à 27
(3*9 = 27
), les valeurs de num1
et num2
sont égales. L’opérateur !=
renvoie donc False
.
Prenons un autre exemple.
Dans le code ci-dessous, num1
est défini à 7. Et num2
est défini comme la chaîne de caractères 7. Comme il s’agit de types de données différents, l’opérateur not equal renvoie True
.
num1 = 7
num2 = "7"
num1 != num2
# Sortie : Vrai
Vous transformez la chaîne de caractères en un entier, comme indiqué :
num1 = 7
num2 = int("7")
num1 != num2
# Sortie : Faux
Dans ce cas, vous pouvez voir que le résultat retourné est False - car
num1
et num2
sont maintenant égaux à l’entier 7.
Vous pouvez également utiliser l’opérateur ” not equal” avec les collections Python telles que les listes, les tuples et les ensembles.
Remarque: pour les collections de données telles que les listes, l’opérateur not equal vérifie les valeurs des éléments individuels. Par exemple, deux listes
list1
etlist2, chacune
de longueurn,
nesont
égales que silist1<x>[i]</x> == list2<x>[i]</x>
pouri
dans{0,1,2,3,...n-1}.
Voici un exemple :
list1 = [2,4,6,8]
list2 = [2,4,6,9]
liste1 != liste2
# Sortie : Vrai
Dans l’exemple ci-dessus, list1
et list2
ne diffèrent que par un seul élément. Et l’opérateur pas égal !=
renvoie True
comme prévu.
Utilisation de l’opérateur Python Not Equal dans les conditionnels
Vous utiliserez souvent l’opérateur pas égal à dans le cadre de conditionnels 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. Cela se réduit à la condition
num%2 != 0
.
num = 7
if(num%2 != 0) :
print("Le nombre est impair.")
else :
print("Le nombre est pair.")
# Sortie : Le nombre est impair.
Vous pouvez également utiliser des conditionnelles dans les listes de compréhension lorsque vous souhaitez conserver uniquement les éléments de la liste qui répondent à 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)
# Sortie : [1, 3, 5, 7, 9]
Voilà qui termine notre discussion sur l’opérateur pas égal (!=
).✅
Comme vous l’avez peut-être deviné, l’opérateur égal à produit l’effet inverse de l’opérateur différent de.
Vous en apprendrez plus à ce sujet dans la section suivante.
Syntaxe de l’opérateur égal en Python
Voici la syntaxe d’utilisation de l’opérateur égal à de Python :
<obj1> == <obj2> #où <obj1> et <obj2> sont des objets Python valides
- renvoie
True
lorsque les valeurs deobj1
etobj2
sont égales, et - renvoie
False
dans le cas contraire.
Exemples de code de l’opérateur égal en Python
L’opérateur égal(==
) peut être utilisé de manière très similaire à l’opérateur différent.
Codons les exemples suivants :
- pour vérifier si deux chaînes de caractères sont égales,
- pour vérifier si un nombre est pair, et
- pour utiliser des conditionnelles dans la compréhension de listes
Utilisation de l’opérateur Python Not Equal pour la comparaison
Dans l’extrait de code ci-dessous, str1
et str2 sont
égaux en termes de valeur. L’opérateur d’égalité(==
) renvoie donc True
.
str1 = "codage"
str2 = "codage"
str1 == str2
# Sortie : Vrai
Utilisons maintenant l’opérateur égal dans une expression conditionnelle.
Note: Un nombre qui est divisible par 2 est pair. Dans le code, cela se réduit à la condition
num%2 == 0
num = 10
if(num%2 == 0) :
print("Le nombre est pair.")
else :
print("Le nombre est impair.")
# Sortie : Le nombre est pair.
Poursuivons avec cet exemple et 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)
# Sortie : [0, 2, 4, 6, 8]
Dans l’exemple ci-dessus,
range(10)
renvoie un objet range qui peut être parcouru en boucle pour obtenir tous les entiers de 0 à 9.- La condition
num%2 == 0
n’estvraie
que pour les nombres pairs. - Ainsi,
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 not equal (!=
) et equal (==
).
Dans la section suivante, vous apprendrez à vérifier l’identité de deux objets. Vous vérifierez si deux objets Python sont identiques.
Comment utiliser les opérateurs is et is not de Python ?
Si vous êtes un débutant en programmation Python, il est possible que vous soyez confus entre les opérateurs ==
et is
. Nous allons clarifier cela dans cette section.
Dans la section précédente, nous avons eu un exemple où str1
et str2
étaient égaux et où l’opérateur ==
renvoyait True
.
Exécutez maintenant l’extrait de code suivant.
str1 = "codage"
str2 = "codage"
str1 est str2
# Sortie : Faux
Vous pouvez voir que str1 is str2
renvoie False
.
Prenons un peu de recul et comprenons ce que fait l’opérateur is
de Python.
L’opérateur
is
opère sur deux objets Python quelconques.
And ne renvoieTrue
que si les deux objets sont identiques, c‘est-à-dire s’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. Ils ont donc des identités différentes.
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)
# Exemple de sortie : 139935398870320
id(str2)
# Exemple de sortie : 139935398871344
Comme vous pouvez le voir, str1
et str2
ont des identités différentes. Et str1 is str2
renvoie False
comme prévu.
En résumé,
<obj1> is <obj2> # renvoie True si et seulement si
id(<obj1>) == id(<obj2>) # renvoie True
Vérifions rapidement cela, comme indiqué :
str1 = "codage"
str2 = str1
print(str1 is str2)
print(id(str1) == id(str2))
# Sortie
Vrai
Vrai
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.
And renvoieFalse
uniquement si les deux objets sont identiques, c‘est-à-dire s’ils font référence au même objet en mémoire. Dans le cas contraire, il renvoieTrue
.
Dans les exemples de code ci-dessus, essayez de remplacer is
par is not
et vérifiez les résultats.
Conclusion 👩💻
Nous espérons que ce tutoriel vous a été utile.
En résumé, 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 les opérateurs
is
etis not
de Python permettent de 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 dans le prochain tutoriel. D’ici là, bon apprentissage et bon codage!🎉