Return value of an assignment statement?

Jeff Schwab jeff at schwabcenter.com
Fri Feb 22 00:28:25 EST 2008


Aahz wrote:
> 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

So what is the "variable?"  Or is Python the first HLL I've ever heard 
of that didn't have variables?



More information about the Python-list mailing list