"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