2
有時,我寫入的函數的參數可以是任何類型,只要它是hashable - 例如,因爲我的函數將它添加到一個集合或將其用作字典鍵。「hashable」的類型提示
有沒有辦法使用Python 3.5中引入的PEP 484類型提示來鍵入這個事實? typing
模塊似乎沒有包含可哈希類型,但有沒有其他方法?
有時,我寫入的函數的參數可以是任何類型,只要它是hashable - 例如,因爲我的函數將它添加到一個集合或將其用作字典鍵。「hashable」的類型提示
有沒有辦法使用Python 3.5中引入的PEP 484類型提示來鍵入這個事實? typing
模塊似乎沒有包含可哈希類型,但有沒有其他方法?
的typing
模塊確實實際上含有Hashable
類型,它根本沒有在的the docs當前版本記錄。這是collections.abc.Hashable
的別名。
>>> import typing
>>> typing.Hashable
<class 'collections.abc.Hashable'>
我認爲是這種情況,因爲可哈希不需要是通用的,所以在「打字」中「重新實現」它沒有任何好處,而列表(或集合)需要類型安全的通用信息。 – syntonym
我只是想發佈完全相同的答案。如果ABC能夠做到,「打字」會將其重新輸出。還有'打字。發射器'和'打字。 –