Pass by reference
iu2
israelu at elbit.co.il
Wed Dec 31 06:30:11 EST 2008
Hi,
Is it possible somehow to change a varible by passing it to a
function?
I tried this:
def change_var(dict0, varname, val):
dict0[varname] = val
def test():
a = 100
change_var(locals(), 'a', 3)
print a
But test() didn't work, the value a remains 100.
I have several variables initialized to None.
I need to convert each one of them an object only if it is None.
something like:
if not var1: var1 = MyObject()
I want this to be a function, that is:
def create_obj(var):
if not var: var = MyObj()
# set properties of var
Now, I know I can achieve this by functional programming,
def create_obj(var):
if not var:
x = MyObj()
# set properties of x
return x
return var
and then
var = creaet_obj(var)
Is there another way?
Thanks
More information about the Python-list
mailing list