Skip to content Skip to sidebar Skip to footer

Comparing Two Identical Objects In Python (2.7) Returns False

I have a function in Python called object_from_DB. The definition isn't important except that it takes an ID value as an argument, uses the sqlite3 library to pull matching values

Solution 1:

By default, two distinct instances of any user-defined class are unequal:

>>> class X: pass
... 
>>> a = X()
>>> b = X()
>>> a == b
False

If you want different behaviour, you have to define it:

class Y:

    def __init__(self, value):
        self.value = value

    def __eq__(self, other):
        return self.value == other.value
>>> c = Y(3)
>>> d = Y(3)
>>> e = Y(4)
>>> c == d
True
>>> d == e
False

Post a Comment for "Comparing Two Identical Objects In Python (2.7) Returns False"