How should I implement __hash__ and __str__
<p>I have a class called WeakBoundMethod (<a href="http://codereview.stackexchange.com/questions/4574">source</a> on codereview.se). I'd like some guidelines about how I should implement <code>__hash__()</code>. Also, Python 3 automatically provides a <code>__repr__()</code> function, so I guess I shouldn't bother redefining it then (?). What about <code>__str__()</code>, which I understand is a human readable text representation of the object; should I define that as well? any guidelines?</p>

<p>About the hashing function...<br>
I'd like it to generate the hash based on the <code>__self__</code> and <code>__func__</code> of the bound method it is wrapping. How can I do that? </p>
