What is the difference between == and identity (is) in Python?
Python Comparison: "==" vs. "is"
In Python, the "==" operator and the is operator are used for different purposes and perform distinct types of comparison:
"==" Operator (Equality):
- The "==" operator is used for value comparison.
- It checks whether two objects have equal values, i.e., the same content.
- When comparing built-in data types (integers, strings, floats, etc.), "==" checks if their values are equal.
- For custom objects or user-defined classes, you can customize "==" behavior by implementing the eq() method.
Example using == operator:
Code:
x = 99
y = 98
if x == y:
print("x and y are equal.")
else:
print("x and y are not equal.")
Output:
x and y are not equal.
"is" Operator (Identity):
- The "is" operator is used to determine the identity of objects.
- It checks whether two variables refer to the same object in memory.
- It returns True if the objects have the same memory address, indicating they are the same object.
- It returns False if the objects have different memory addresses, indicating they are different objects.
Example using "is" operator:
Code:
nums = [1, 2, 3, 4, 5]
y = nums
if nums is y:
print("nums and y refer to the same object.")
else:
print("nums and y refer to different objects.")
Output:
nums and y refer to the same object.
In the above example, "nums" and "y" refer to the same list object in memory, so the output will be "nums and y refer to the same object."
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/python-interview/what-is-the-difference-between-equalto-equalto-and-is-in-python.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics