title: will hash(time.time()) always be unique
body: <p>I am trying to generate unique ID <strong>numbers</strong> for some unit tests, and I saw a suggestion somewhere to use something like:</p>
  
  <pre><code>def unique_id():
      time.sleep(0.000001) # smallest precision for time.time()
      return time.time()
  </code></pre>
  
  <p>I'm wondering if the hash() call will always take at least 0.000001, so I could use:</p>
  
  <pre><code>def unique_id():
      return hash(time.time())
  </code></pre>
  
  <p>Could that ever return the same value twice, if I'm calling it in succession within a single threaded application?</p>
  
  <p>edit: bolded the word 'NUMBERS' because every single person has overlooked it.</p>