title: What's a correct and good way to implement __hash__()?
body: <p>What's a correct and good way to implement <code>__hash__()</code>?</p>
  
  <p>I am talking about the function that returns a hashcode that is then used to insert objects into hashtables aka dictionaries.</p>
  
  <p>As <code>__hash__()</code> returns an integer and is used for "binning" objects into hashtables I assume that the values of the returned integer should be uniformly distributed for common data (to minimize collisions).
  What's a good practice to get such values? Are collisions a problem?
  In my case I have a small class which acts as a container class holding some ints, some floats and a string.</p>