Позволяет реализовать сравнение экземпляров пользовательских типов.
object.__cmp__(self, other)
-> int
self -- Ссылка на экземпляр.

other -- Объект с которым следует произвести сравнение (справа от оператора сравнения).

На заметку
Вызывается операторами сравнения в случае, если методы «богатого» сравнения не определены.

Должен возвращать целое:

self < otherотрицательное
self == otherнуль
self > otherположительное

    class Moon(object):

r = 1737.10

def __cmp__(self, other):
return self.r - other.r


class Earth(object):

r = 6371.0

def __cmp__(self, other):
return self.r - other.r


my_moon = Moon()
my_moon_dub = Moon()
my_earth = Earth()

# Используют Moon.__cmp__
my_moon == my_earth # False
my_moon != my_earth # True
my_moon > my_earth # False
my_moon < my_earth # True
my_moon >= my_earth # False
my_moon <= my_earth # True
my_moon == my_moon_dub # True

Если не определены, ни этот метод, ни __eq__(), ни __ne__(), экземпляры сравниваются по их идентификаторам («адресам»).

Для получения дополнительной важной информации об использовании «богатого сравнения» при создании объектов, поддерживающих хеширование, которые могут использоваться в качестве ключей в словарях смотрите object.__hash__().

+py1.5 Устранено ограничение, когда исключения из метода не поднимались.
Синонимы поиска: object.__cmp__, object, __cmp__
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.