2016-06-28 27 views
2

有時,我寫入的函數的參數可以是任何類型,只要它是hashable - 例如,因爲我的函數將它添加到一個集合或將其用作字典鍵。「hashable」的類型提示

有沒有辦法使用Python 3.5中引入的PEP 484類型提示來鍵入這個事實? typing模塊似乎沒有包含可哈希類型,但有沒有其他方法?

+0

我只是想發佈完全相同的答案。如果ABC能夠做到,「打字」會將其重新輸出。還有'打字。發射器'和'打字。 –

回答

4

typing模塊確實實際上含有Hashable類型,它根本沒有在的the docs當前版本記錄。這是collections.abc.Hashable的別名。

>>> import typing 
>>> typing.Hashable 
<class 'collections.abc.Hashable'> 
+0

我認爲是這種情況,因爲可哈希不需要是通用的,所以在「打字」中「重新實現」它沒有任何好處,而列表(或集合)需要類型安全的通用信息。 – syntonym