var or inout parm?

Diez B. Roggisch deets at
Sun Dec 7 12:13:59 CET 2008

mh at schrieb:
> 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

Chris showed one way, another is simply returning it. As python can 
return ad-hoc created tuples & unpack them, some C++-wrappers for 
example treat out/inout vars like this:

def foo(in, inout):
     return inout, out1, out2

x, y, z = foo(a, x)

Obviously you are responsible for properly assigning the returned inout 
to the right name again.


More information about the Python-list mailing list