The Cost of Dynamism (was Re: Pyhon 2.x or 3.x, which is faster?)

Mark Lawrence breamoreboy at yahoo.co.uk
Mon Mar 14 17:00:18 EDT 2016


On 14/03/2016 20:31, BartC wrote:
> On 14/03/2016 19:45, alister wrote:
>> On Mon, 14 Mar 2016 14:43:22 +0000, BartC wrote:
>>
>>> On 13/03/2016 09:39, Steven D'Aprano wrote:
>>>> On Sun, 13 Mar 2016 04:54 am, BartC wrote:
>>>
>>>>> Common sense tells you it is unlikely.
>>>>
>>>> Perhaps your common sense is different from other people's common
>>>> sense. To me, and many other Python programmers, it's common sense that
>>>> being able to replace functions or methods on the fly is a useful
>>>> feature worth having. More on this below.
>>>>
>>>> Perhaps this is an example of the "Blub Paradox":
>>>
>>> Perhaps it's time to talk about something which many languages have, but
>>> Python hasn't. Not as far as I know anyway.
>>>
>>> That's references to names (sometimes called pointers). So if I write:
>>>
>>>    a = 100 f(a)
>>>
>>> then function f gets passed the value that a refers to, or 100 in this
>>> case. But how do you pass 'a' itself?
>
>> Congratulations
>> you have just proven that you have faild in your understanimg of python @
>> stage 1 becuae you keep tying to us it a C
>>
>> try the following
>>
>> def test(x):
>>     print (id(x)
>>
>> a=100
>> print (id(a))
>> test(a)
>> a="Oops i was an idiot"
>> print (id(a))
>> test(a)
>>
>> python always passes the object bound to a, not the value of a or a
>> pointer to a
>
> Yes, and? I colloquially used 'value' instead of 'object', 'id' or
> 'reference'. The latter would added confusion as I'm talking about a
> different kind of reference. And if you get rid of 'id' in your code,
> you will get values displayed.
>
> But how do you pass something that refers to a itself?
>
> There are good reasons for wanting to do so. Try writing this function
> in Python:
>
> def swap(a,b):
>      b,a = a,b
>
> x="one"
> y="two"
> swap(x,y)
>
> print (x,y)
>
> so that it displays "two" "one".
>

Global.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list