Равенство классов Python с использованием слотов

Другой вопрос предоставляет хорошее, простое решение для реализации теста на равенство объекты. Я повторю ответ для контекста:

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 __ , чтобы это работало со слотами?

6
задан Community 23 May 2017 в 10:24
поделиться