Другой вопрос предоставляет хорошее, простое решение для реализации теста на равенство объекты. Я повторю ответ для контекста:
class CommonEqualityMixin(object):
def __eq__(self, other):
return (isinstance(other, self.__class__)
and self.__dict__ == other.__dict__)
def __ne__(self, other):
return not self.__eq__(other)
class Foo(CommonEqualityMixin):
def __init__(self, item):
self.item = item
Я хотел бы сделать это для класса, который использует __ slots __
. Я понимаю, что и базовый класс, и подкласс должны будут использовать слоты, но как бы вы определили __ eq __
, чтобы это работало со слотами?