abcd wrote: > I have a file, "a.py" > > blah = None > def go(): > global blah > blah = 5 > >>From the python interpreter I try.... > >>>> from a import * >>>> blah >>>> go() >>>> blah >>>> > > ...i was hoping to see "5" get printed out the second time I displayed > blah, but it doesn't. Now, if I type this same code directly into the > python interpreter it works as i was hoping. what i am missing? > > thanks > That "blah" is global to module a, not to the whole program. You import all names from a, which creates a blah and a go in your local namespace, bound to the sames values those names have in module a.
When you call go() this sets a.blah to 5, but __main__.blah is still None. It's those dratted namespaces again! regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Recent Ramblings http://holdenweb.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list