例如,假设我这样做:
>>> class foo(object):
... pass
...
>>> class bar(foo):
... pass
...
>>> some_dict = { foo : 'foo',
... bar : 'bar'}
>>>
>>> some_dict[bar]
'bar'
>>> some_dict[foo]
'foo'
>>> hash(bar)
165007700
>>> id(bar)
165007700
根据这个,看起来该类被散列为其id号。因此,不必担心像bar
会被哈希成foo
或bar
,或者如果我改变了类,哈希值会发生变化。
这种行为可靠吗?还是有什么需要注意的地方?
x.__hash__()
不再返回id(x)
。 - wim