在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__
在哪里呢?或者我错过了什么?