"Ron" <[EMAIL PROTECTED]> wrote:
> On Tue, 22 Mar 2005 21:56:57 GMT, Ron <[EMAIL PROTECTED]> wrote:
>
> >Why should a function not create a local varable of an argument if the
> >varable doesn't exist and a default value is given?
>
> ok... thought it out better. :)
>
> Getting a default into a function isn't the problem. Returning the
> value to a varable that doesn't exist is.
>
> So then the question is ... is there a way for a function to create a
> varable in it's parents namespace that persists after the function is
> done?

Yeap.. a simple one-liner can do the trick:

def makeVars(**nameVals):
    sys._getframe(1).f_locals.update(nameVals)

try: b
except NameError: print "Before makeVars: NameError"
else: print "Before makeVars: Not NameError"
makeVars(b=2)
try: b
except NameError: print "After makeVars: NameError"
else: print "After makeVars: Not NameError"

George


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

Reply via email to