Почему я не могу использовать метод __cmp__ в Python 3, как в Python 2?

Следующий фрагмент кода

class point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def dispc(self):
        return ('(' + str(self.x) + ',' + str(self.y) + ')')

    def __cmp__(self, other):
        return ((self.x > other.x) and (self.y > other.y))

работает нормально в Python 2, но в Python 3 я получаю сообщение об ошибке:

>>> p=point(2,3)
>>> q=point(3,4)
>>> p>q
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: point() > point()

Это работает только для == и ! = .

40
задан nbro 3 April 2018 в 00:25
поделиться