665 B
665 B
title |
---|
Difference between Python 'is' and '==' operators |
is
is a check for object identity - ie, checking if two or more variables are referring to the same object. You can't overload is
.
==
evaluates to true if object referred to by the variables are equal. You can overload ==
via the __eq__
operator.
Return Value
The return value for both would be either True
or False
.
Code Sample
a = 2.3
a is 2.3 # => False
a == 2.3 # => True
a = [234,123,321]
b = [234,123,321]
a == b # => True
a is b # => False
a = b
a == b # => True
a is b # => True, because if we change a, b changes too