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