trying to modify locals() dictionary
Hi everybody, I try to modify locals() as an exercise. According to the context (function or __main__), it works differently (see below). Why? Thanks Julien def try_to_modify_locals( locals_ ): locals_[ a ] = 2 print locals_[ 'a' ]=, locals_[ a ] return locals_ def test_modify_locals(): a = 3 l = try_to_modify_locals( locals() ) print l is locals() print a # Below, a remains equal to 3 print test from test_modify_locals() test_modify_locals() # But here, it works: a is modified print test from __main__ a = 3 l = try_to_modify_locals( locals() ) print l is locals() print a -- python -c print ''.join([chr(154 - ord(c)) for c in '*9(9(18%.\ 91+,\'Z4(55l4(']) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong. (first law of AC Clarke) -- http://mail.python.org/mailman/listinfo/python-list
Re: trying to modify locals() dictionary
TP schrieb: Hi everybody, I try to modify locals() as an exercise. According to the context (function or __main__), it works differently (see below). Why? Thanks Because http://docs.python.org/library/functions.html#locals Warning The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter. Christian -- http://mail.python.org/mailman/listinfo/python-list
Re: trying to modify locals() dictionary
On Mon, 2009-01-12 at 19:51 +0100, TP wrote: Hi everybody, I try to modify locals() as an exercise. According to the context (function or __main__), it works differently (see below). Why? Thanks Julien Per the locals() documentation @ http://docs.python.org/library/functions.html Warning The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter. -- http://mail.python.org/mailman/listinfo/python-list