Столкнулся следующее:a == b является ложным, но id (a) == id (b) истинно?
>>> class A:
... def __str__(self):
... return "some A()"
...
>>> class B(A):
... def __str__(self):
... return "some B()"
...
>>> print A()
some A()
>>> print B()
some B()
>>> A.__str__ == B.__str__
False # seems reasonable, since each method is an object
>>> id(A.__str__)==id(B.__str__)
True # what?!
Что здесь происходит?
Примечание: этот ответ работает только на Python 2. – BenC