Steven Bethard wrote: > Peter Otten wrote: >> Steven Bethard wrote: >> >>>def __eq__(self, other): >>> """x.__eq__(y) <==> x == y""" >>> return (isinstance(other, self.__class__) >>> and self.__dict__ == other.__dict__) >> >> This results in an asymmetry: >> > [snip] >> >> Whether this is intended, I don't know. If someone can enlighten me...
> Unintended. Oops, I meant CPython's rich comparison, not your __eq__() implementation. > I'll switch to > self.__class__ == other.__class__ > or > type(self) == type(other) > Any preference? Normally none of them. The former if hard pressed because all old-style classes have the same type(). But it doesn't really matter here. Peter -- http://mail.python.org/mailman/listinfo/python-list