Dear all, I am trying to compare graphes of object through the use of the __cmp__ operator. Before managing the problem of recursive comparison, I have tried a simple test which result surprises me. Here is the simplest code I can write that presents my problem:
</pre> $ cat cmp.py class A: def __init__(self, b): self.b = b def __cmp__(self, other): return self.b == other.b class B: pass if __name__ == '__main__': b = B() a1 = A(b) a2 = A(b) print a1 == a2 print a1 == a1 $ python cmp.py False False </pre> I swear I am not drunk, but why isn't a1 == a2 and worse why isn't a1 == a1? Does someone have a clue and can explain to me this suprising behavior? (python 2.4.3 on Ubuntu 6.06). Cheers, r. -- http://mail.python.org/mailman/listinfo/python-list