Задать вопрос
valerium
@valerium
Изобретая велосипед

Как не прописывать действие для каждой операции сравнения?

Приветствую.

Пишу свой класс и хочу прописать для него такие методы как __lt__, __le__, __ge__, __gt__, __eq__, но не хочу писать десяток одинаковых методов, которые отличаются на один-два знака. Подскажите, как всё это сделать красиво и элегантно?

Сейчас пытаюсь что-то намудрить с лямбдой и переменной __name__ и с атрибутом __dict__, но пока результата нет.

Может, кто-то уже делал такое?
  • Вопрос задан
  • 546 просмотров
Подписаться 6 Оценить 11 комментариев
Решения вопроса 1
gunlinux
@gunlinux
Freelancer
Наследование, настало твое время?

Наследуйтесь от базового типа, где уже есть схожие операции.
И еще вопрос - вам точно нужна своя структура данных? Потому что базовые типы овероптимизированы в отличии от подделок.

Смотреть, от чего наследоватся, можно, например, по __slots__, dir или в документации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы