27 lines
665 B
Markdown
27 lines
665 B
Markdown
---
|
|
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
|
|
|