On Mon, 2008-12-08 at 00:57 -0800, Chris Rebert wrote: > On Mon, Dec 8, 2008 at 12:26 AM, Bruno Desthuilliers > <[EMAIL PROTECTED]> wrote: > > Colin J. Williams a écrit : > >> > >> [EMAIL PROTECTED] 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). >
Oh dear God. PLEASE don't see also that thread. That way lies madness. Just google for call-by-object, and ignore the hell out of that thread. > Cheers, > Chris > -- http://mail.python.org/mailman/listinfo/python-list