Возьмем следующий пример:
>>> class C(object):
... def __init__(self, p):
... self.p = p
... def __eq__(self, o):
... return True
...
>>> C(1) is C(2)
False
>>> C(1) == C(2)
True
>>> C(1) != C(2)
True # <- Why?!?
Итак, теперь оба объекта равны и не равны в одно и то же время. Я, хотя две операции противоположны?!