var or inout parm?

Chris Rebert clp at rebertia.com
Mon Dec 8 09:57:44 CET 2008


On Mon, Dec 8, 2008 at 12:26 AM, Bruno Desthuilliers
<bruno.42.desthuilliers at websiteburo.invalid> wrote:
> Colin J. Williams a écrit :
>>
>> mh at pixar.com wrote:
>>>
>>> How can I make a "var" parm, where the called function can modify
>>> the value of the parameter in the caller?
>>>
>>> def f(x):
>>>    x = x + 1
>>>
>>> n = 1
>>> f(n)
>>> # n should now be 2
>>>
>>> Many TIA!!
>>> Mark
>>>
>>>
>>
>> Why not run it and see?
>>
>> Your function returns None.
>>
>> The function in effect takes a copy of n.
>
> Nope, it takes the object bound to global name 'n'.

See Also: the earlier heated debate thread over what evaluation
strategy Python uses (Survey says!: call-by-object).

Cheers,
Chris

-- 
Follow the path of the Iguana...
http://rebertia.com

>
> --
> http://mail.python.org/mailman/listinfo/python-list
>


More information about the Python-list mailing list