title: Why one needs id() in Python if there is already hash()
body: <p>The Python documentation for the <code>id()</code> function says</p>
  
  <blockquote>
    <p>id(object)
    Return the “identity” of an object. This is an integer which is guaranteed to be unique and constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same id() value.</p>
  </blockquote>
  
  <p>So, practically, it guaranties the uniqueness as an hash function, but only within the object lifespan and without the cool thing that an hash is hardly reconstructable.</p>
  
  <p>Why should one use <code>id()</code>?</p>