title: Python hash() function on strings
body: <p>How does a hash value of some particular string is calculated in CPython2.7?</p>
  
  <p>For instance, this code:</p>
  
  <pre><code>print hash('abcde' * 1000)
  </code></pre>
  
  <p>returns the same value even after I restart the Python process and try again (I did it many times). </p>
  
  <p>So, it seems that <code>id()</code> (memory address) of the string doesn't used in this computation, right? Then how?</p>