osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

About the implementation of del in Python 3


On 2017-07-06 15:29, Jussi Piitulainen wrote:
> Marko Rauhamaa writes:
> 
>> While talking about addresses might or might not be constructive, let
>> me just point out that there is no outwardly visible distinction
>> between "address" or "identity".
> 
> With a generational or otherwise compacting garbage collector there
> would be. I believe that to be a valid implementation strategy.
> 
> Or you are using "address" in some abstract sense so that the "address"
> does not change when the internal representation of the object is moved
> to another location.
> 
>> Ignoring the word that is used to talk about object identity, it would
>> be nice to have a precise formal definition for it. For example, I
>> know that any sound implementation of Python would guarantee:
>>
>>     >>> def f(a): return a
>>     ...
>>     >>> a = object()
>>     >>> a is f(a)
>>     True
>>
>> But how do I know it?
> 
> For me it's enough to know that it's the object itself that is passed
> around as an argument, as a returned value, as a stored value, as a
> value of a variable. This is the basic fact that lets me understand the
> behaviour and performance of programs.
> 
Perhaps you should be thinking of it as passing around the end of a 
piece of string, the other end being tied to the object itself. :-)