Curriculum
In Python, the __eq__
method is a special method that is used to define how two objects of a class should be compared for equality. This method is called when the ==
operator is used to compare two objects of the class. The __eq__
method should return True
if the objects are considered equal, and False
otherwise.
Here’s an example of how the __eq__
method can be used in Python:
class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): if isinstance(other, Point): return self.x == other.x and self.y == other.y return False p1 = Point(1, 2) p2 = Point(1, 2) p3 = Point(2, 3) print(p1 == p2) # Output: True print(p1 == p3) # Output: False
In this example, we define a Point
class with two attributes: x
and y
. We also define an __eq__
method that compares two Point
objects for equality based on their x
and y
attributes.
When we create two Point
objects with the same x
and y
values and compare them using the ==
operator, the __eq__
method is called and returns True
because the objects are considered equal. When we create two Point
objects with different x
and y
values and compare them using the ==
operator, the __eq__
method is called and returns False
because the objects are not considered equal.
Note that the __eq__
method can be used in conjunction with other comparison operators (e.g. !=
, <
, <=
, >
, >=
) by defining other special methods like __ne__
, __lt__
, __le__
, __gt__
, and __ge__
. These methods allow you to define how two objects of a class should be compared for inequality and ordering.