On Tue, 23 Feb 2010 20:44:10 -0800, Luis M. González wrote: > On Feb 24, 1:15 am, Steven D'Aprano > <ste...@remove.this.cybersource.com.au> wrote: >> On Tue, 23 Feb 2010 19:47:22 -0800, Luis M. González wrote: >> > On Feb 23, 10:41 pm, Steven D'Aprano >> > <ste...@remove.this.cybersource.com.au> wrote: >> >> On Tue, 23 Feb 2010 15:41:16 -0800, Luis M. González wrote: >> >> > By the way, if you want the variables inside myDict to be free >> >> > variables, you have to add them to the local namespace. The local >> >> > namespace is also a dictionary "locals()". So you can update >> >> > locals as follows: >> >> >> > locals().update( myDictionary ) >> >> >> No you can't. Try it inside a function. >> >> >> -- >> >> Steven >> >> > Sure. Inside a function I would use globals() instead. Although I >> > don't know if it would be a good practice... >> >> Er, how does using globals change the local variables? >> >> -- >> Steven > > Hmmm.... well, you tell me!
I'm not the one that said you can update locals! You said it. I said you can't, because you *can't*. The docs warn that you can't change locals, and if you try it, you will see that the docs are right. >>> def test(): ... x = 1 ... locals().update(x = 2) ... print x ... >>> >>> test() 1 > As I said, I don't know if this is the recomended way... It's not recommended because it doesn't work. -- Steven -- http://mail.python.org/mailman/listinfo/python-list