Variables versus name bindings [Re: A certainl part of an if() structure never gets executed.]
Terry Reedy
tjreedy at udel.edu
Mon Jun 17 10:22:41 EDT 2013
On 6/17/2013 7:34 AM, Simpleton wrote:
> On 17/6/2013 9:51 πμ, Steven D'Aprano wrote:
>> Now, in languages like Python, Ruby, Java, and many others, there is no
>> table of memory addresses. Instead, there is a namespace, which is an
>> association between some name and some value:
>>
>> global namespace:
>> x --> 23
>> y --> "hello world"
>
> First of all thanks for the excellent and detailed explanation Steven.
>
> As for namespace:
>
> a = 5
>
> 1. a is associated to some memory location
> 2. the latter holds value 5
This is backwards. If the interpreter puts 5 in a *permanent* 'memory
location' (which is not required by the language!), then it can
associate 'a' with 5 by associating it with the memory location. CPython
does this, but some other computer implementations do not.
> So 'a', is a reference to that memory location, so its more like a name
> to that memory location, yes? Instead of accessing a memory address with
> a use of an integer like "14858485995" we use 'a' instead.
>
> So is it safe to say that in Python a == &a ? (& stands for memory address)
>
> is the above correct?
When you interpret Python code, do you put data in locations with
integer addresses?
--
Terry Jan Reedy
More information about the Python-list
mailing list