L'opérateur is en Python

En Python, l'opérateur is est utilisé pour comparer des objets.

Plus précisément, is compare l'identité des objets, c'est-à-dire leur emplacement mémoire.

Si deux objets ont la même identité, alors ils réfèrent au même objet.

Cela signifie que, si vous modifiez un objet, tous les autres objets qui réfèrent au même objet seront également modifiés.

Comparaison avec l'opérateur d'égalité

L'opérateur d'égalité en Python est ==.

Contrairement à is, il compare la valeur des objets. Cela signifie que deux objets peuvent avoir la même valeur, mais ne pas référer au même objet.

En revanche, si deux objets ont la même identité, leur valeur est toujours égale.

Exemple d'utilisation de l'opérateur is

Voici un exemple d'utilisation de l'opérateur is :

a = [1, 2, 3]
b = a
print(b is a) # True

Dans cet exemple, a et b réfèrent au même objet. Par conséquent, l'opérateur is renvoie True.

Exemple d'utilisation de l'opérateur d'égalité

Voici maintenant un exemple d'utilisation de l'opérateur d'égalité :

a = [1, 2, 3]
b = [1, 2, 3]
print(b == a)  # True

Dans cet exemple, a et b ont la même valeur, mais réfèrent à des objets différents. L'opérateur d'égalité renvoie True car les valeurs des objets sont similaires.

Attention à ne pas confondre is et ==

Il est important de ne pas confondre is et ==.

Si on reprend l'exemple précédent :

a = [1, 2, 3]
b = [1, 2, 3]
print(b is a) # False
print(b == a) # True

Dans cet exemple, a et b ont la même valeur mais il s'agit de deux objets différents, l'opérateur is renvoie False, contrairement à l'opérateur ==.

Conclusion

L'opérateur is est utile pour la comparaison d'identité d'objets en Python. Il est important de ne pas le confondre avec l'opérateur d'égalité, qui compare les valeurs d'objets plutôt que leur identité.