Problem comparing object graphs and trees
raphael.marvie at gmail.com
raphael.marvie at gmail.com
Fri Dec 15 08:38:54 EST 2006
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.
More information about the Python-list
mailing list