On 08/19/10 12:42, Steven D'Aprano wrote:
On Thu, 19 Aug 2010 11:00:03 -0400, Alex Hall wrote:
def __eq__(self, obj):
if self.a==obj.a and self.b==obj.b: return True
return False
That would be the same as:
def __eq__(self, obj):
return self.a==obj.a and self.b==obj.b
Or, if you have lots of attributes and 2.5+
def __eq__(self, other):
return all(
getattr(self, attr) == getattr(other, attr)
for attr in ['a', 'b', 'c', ...]
)
or even something like
def __eq__(self, other):
return all(
getattr(self, attr) == getattr(other, attr)
for attr in dir(self)
if not attr.startswith("__") and not attr.endswith("__")
)
-tkc
--
http://mail.python.org/mailman/listinfo/python-list