Return value of an assignment statement?

Aahz aahz at pythoncraft.com
Thu Feb 21 23:07:54 EST 2008


In article <5MSdncSVGdGriCPanZ2dnUVZ_vPinZ2d at comcast.com>,
Jeff Schwab  <jeff at schwabcenter.com> wrote:
>bruno.desthuilliers at gmail.com wrote:
>> 
>> There's nothing like a variable "storing" anything in Python. All you
>> have are names to (references to) objects binding in a namespace. Now
>> the fact is that some types are mutable and other are not. In your
>> above example, the augmented assignment does *not* rebind a, but
>> invoke a.extend(). With integers, it would have rebind a. So while
>> your observation is exact, your interpretation is wrong !-)
>
>Thank you for the clarification.  For some reason, I had it in my head 
>that ints were packed directly into the C structures that represent 
>Python variables, in the same (union?) member that otherwise would store 
>a pointer.

Notice very very carefully that Bruno is not using "variable".  Many
expert Python programmers strongly prefer to talk about "names" instead
of "variables" (especially when explaining the Python object model)
precisely because using "variable" leads to incorrect expectations.

http://starship.python.net/crew/mwh/hacks/objectthink.html
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"All problems in computer science can be solved by another level of     
indirection."  --Butler Lampson



More information about the Python-list mailing list