"[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
>> Surely an A isn't equal to every other object which just happens to >> have the same attributes 'a' and 'b'? > > And why not ?-) > >> I would have thoughts the tests want to be >> something like: >> >> class A: >> def __eq__(self,other): >> return (isinstance(other, A) and >> self.a == other.a and self.b == other.b) >> >> (and similar for B) with either an isinstance or exact match required >> for the type. > > I don't think there's a clear rule here. Python is dynamically typed > for good reasons, and MHO is that you should not fight against this > unless you have equally good reasons to do so. > I fully agree with that, but an apple != a pear, even if they are the same size and colour. There will be some types where you can have equality between objects of different types (e.g. int/float), but more often the fact that they are different types wil automatically mean they are not equal. -- http://mail.python.org/mailman/listinfo/python-list