例如,假設我這樣做:散列Python類是個好主意嗎?
>>> 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
,或者如果我改變類別,散列值會發生變化。
此行爲是否可靠,或者是否有任何問題?
其*元類*沒有__hash __()函數的任何類。 – 2009-08-26 15:30:56
應該指出的是,雖然這是「Python 2.6的新特性」頁面,但這種行爲似乎在python 2.4下適用於我。 – 2009-08-26 15:40:26
@Jason我將參考文獻更改爲一般文檔。 – 2009-08-26 15:41:51