Modifying Class Object

Alf P. Steinbach alfps at start.no
Thu Feb 11 03:09:04 EST 2010


* I V:
> On Thu, 11 Feb 2010 07:37:35 +0100, Alf P. Steinbach wrote:
>> * Steven D'Aprano:
>>> s = [1]
>>> t = s         # Binds the name t to the object bound to the name s.
>>> t[0] = 2      # Changes the object bound to the name t print(s)      #
>>> Checks the object via the original name.
>>>
>>> Notice that your version describes what happens according to some
>>> implementation, below the level of the Python virtual machine.
>> Consider just the
>>
>>    assert( t is not s )
>>
>>    t = s
>>
>> Does this change anything at all in the computer's memory?
>>
>> If it doesn't, then it has no effect whatsoever.
>>
>> But since it does have an effect, a memory change has been effected.
> 
> I don't think your disagreeing with Steven here - by talking about "the 
> computers memory," it's clear that you are talking about the details of 
> an implementation of python, not the semantics of python itself. Unless, 
> of course, you are under the misapprehension that "the computer's memory" 
> is relevant to the python language, rather than the particular 
> implementation. Python itself has nothing to do with "computers" or 
> "memory"; these are mere implementation details.

You know, the programming language that doesn't need computers: Python.

:-)



Cheers,

- Alf (not sure how to read your posting, but it's funny anyhow)



More information about the Python-list mailing list