title: What are the constraints on the value returned by `id()`
body: <p>The <a href="https://docs.python.org/3/library/functions.html#id" rel="nofollow noreferrer">doc</a> only has this to say:</p>
  <blockquote>
  <p>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>
  <p>CPython implementation detail: This is the address of the object in
  memory.</p>
  </blockquote>
  <p>Which doesn't bound the returned integer, not does it have anything to say about how or if it varies on different OS.</p>
  <p>I assume some virtual memory addresses won't ever be returned, and also assume it is different on 32 vs 64 bit systems, and also on Win/Linux/OSX.</p>
  <p>Is there an equivalent <code>os</code> function that is more predictable?</p>