我有一個名爲WeakBoundMethod(codereview.se上的source)的類。我想要一些關於如何實施__hash__()
的指南。另外,Python 3自動提供了一個__repr__()
函數,所以我想我不應該再重新定義它(?)。我怎麼樣__str__()
,我知道這是對象的人類可讀文本表示;我是否應該定義它?任何指引?我應該如何實現__hash__和__str__
關於散列函數...
我想它基於的__self__
和綁定的方法是包裝的__func__
的哈希值。我怎樣才能做到這一點?
除非您打算製作WeakBoundMethods哈希鍵,否則不需要實現'__hash__'。如果你這樣做,他們應該是不可變的,你也必須實現'__eq__'。 – delnan
@delnan這不僅僅是一個學習項目,所以在實施它們時沒有任何傷害。 :) –