call-by-reference (was Re: Any other Python flaws?)

Martijn Faassen m.faassen at vet.uu.nl
Fri Jun 15 15:20:53 EDT 2001


David C. Ullrich <ullrich at math.okstate.edu> wrote:
> On 15 Jun 2001 14:08:58 GMT, jcm <grumble at usa.net> wrote:

>>Martijn Faassen <m.faassen at vet.uu.nl> wrote:
>>
>>> I agree that nobody agrees on whatever 'call-by-reference' means, or what
>>> 'call-by-value' means. I mean, I'm here confused why you'd say C++ doesn't
>>> support call-by-value while Python apparently does. :)
>>
>>In my experience, there's good agreement about what call-by-reference
>>means just about everywhere but in newsgroups.  Python supports only
>>call-by-value -- you can't change the value of a variable in your
>>caller's scope (globals aside).

> It's call-by-value all right. The confusion is caused
> by the fact that the values are references. But passing
> a reference "by value" is not a call by reference.

I think the confusion makes it not worth saying things like "It's simple!
Python does call-by-value only!". :) Better be more specific about the
behavior.

Regards,

Martijn
-- 
History of the 20th Century: WW1, WW2, WW3?
No, WWW -- Could we be going in the right direction?



More information about the Python-list mailing list