Sobes.tech
Middle

What is the difference between IS and == (double equals)?

sobes.tech AI

Answer from AI

In Python, is and == serve different purposes:

  • is checks whether two variables point to the same object in memory (object identity).
  • == checks for equality of object values, invoking the __eq__ method.

Example:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # True, because b points to the same object
print(a == b)  # True, values are equal

print(a is c)  # False, different objects
print(a == c)  # True, values are equal

Thus, is is used to check if two variables refer to the same object, while == checks for content equality.