zaur wrote:
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "copyright", "credits" or "license()" for more information.
a=1
x=[a]
id(a)==id(x[0])
True
a+=1
a
2
x[0]
1
I thought that += should only change the value of the int object. But
+= create new.
Is this intentional?
You don't need the (slight) complexity of += to see this. Straight
assignment shows the same behavior.
Try this:
a=1
print id(a)
a=2
print id(a)
The different results from the two prints happens because Python stores
integers 1 and 2 in different locations and the assignments causes a to
refer to one and then the other.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list