id( ) function question
raffaele ponzini
raffaele.ponzini at gmail.com
Wed Oct 14 06:46:11 EDT 2009
Dear all,
I have a question concerning the output of the id() function.
In particular since is should:
""
Return the identity of an object. This is guaranteed to be unique among
simultaneously existing objects. (Hint: it's the object's memory address.)
""
i expect that for two differnt objects it returns two differnt adress in memory.
Let's seee a correct case:
>>> a=10
>>> b=20
>>> a is b
False
>>> id(a)
9986060
>>> id(b)
9985940
>>> c=a
>>> c is a
True
>>> id(c)
9986060
>>> id(a)
9986060
And now a strange (for me) output:
>>> d=10 #here i'm assingning a integer value to a fresh new variable d without any kind of link to the variable a
>>> d is a
True
>>> d==a
True
>>> id(a)
9986060
>>> id(b)
9985940
>>> id(d)
9986060
>>> a=1e10
>>> d=1e10
>>> d is a
False
>>> id(a)
11388984
>>> id(d)
11388920
>>>
--
lele
More information about the Python-list
mailing list