Behavior of += (was Re: [Python-Dev] Customization docs)

Terry Reedy tjreedy at
Tue Jun 4 22:23:40 EDT 2002

"Huaiyu Zhu" <huaiyu at> wrote in message
news:slrnafqppg.4ea.huaiyu at
> Objects are referenced by their ids (or equivalent).  Their memory
> may or may not change when it is modified, but if it is the same
> every name that was refering to it will remain referencing to it
after the
> modification, regardless of its memory location.

Conceptually, PyObjects do not even *have* a memory location.  In the
current CPython implementation for computers, they have a *fixed*
location, which happens to be used for the unique integer id.  A
(fixed-location) list object contains a pointer to an auxiliary array
which may be moved when resized.  Same for dicts.

Terry J. Reedy

More information about the Python-list mailing list