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__
私はどこに、または何が欠けていますか?