Pythonドキュメント(ええ、私はドキュメントでこれを持っています)でそれはそれを言います:
ユーザー定義クラスには、デフォルト
__cmp__()で__hash__()メソッドがあります。それらを使用すると、すべてのオブジェクトは(それ自体を除いて)等しくなく比較され、をx.__hash__()返しますid(x)。
しかし、次のコードは別のことを示しています。
>>> class Test(object): pass
...
>>> t = Test()
>>>
>>> t.__hash__
<method-wrapper '__hash__' of Test object at 0x01F2B5D0>
>>>
>>> t.__cmp__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Test' object has no attribute '__cmp__'
>>>
それで、__cmp__私はどこに、または何が欠けていますか?