A little more probing shows the following behavior:
>>> id(1)
440532
>>> id(2)
440532
>>>
What's happening here? The id() function is unique *as long as the object
lives*. As soon as the object is garbage collected, the same id can be used
for another object. It still doesn't explain Steven's observation, though:
>>> if id(1) == id(1): print 'OK'
...
OK
>>> if id(1) == id(2): print 'OK'
...
>>>
So probably this is an anomaly as Steven points out.
-Jaap-