2016-09-30 37 views
-1

爲什麼documentation說:爲什麼collections.Callable提供__contains __(),__hash __(),__len __()和__call __()

類collections.Callable

基本知識爲分別提供類方法包含(),散列(),len()和請致電()。

而不僅僅是__call__()

對於可調用對象,__contains__(),__hash__(),__len__()的作用是什麼?

例如,我是否需要讓我的類可哈希?

+1

注意這個詞*分別*。 –

+1

我累了。謝謝 –

回答

1

您誤解了該文本所說的內容。文檔覆蓋的ABC:

class collections.Container 
class collections.Hashable 
class collections.Sized 
class collections.Callable 

在句子的ABC的grammar construct respectively對於分別提供的方法重視每這裏的四個類的單獨的方法中,爲了類。

所以Container提供__contains__()Hashable涵蓋__hash__()Sized涵蓋__len__()Callable涵蓋__call__()

換句話說,Callable只提供了一個__call__()方法,而不是其他3種方法中的任何一種。

相關問題