try >>> import a >>> a.blah >>> a.go() >>> a.blah
or rewrite a.py like this blah = [ None ] def go(): global blah blah[0] = 5 # and not blah=[5] then >>> from a import * >>> blah >>> go() >>> blah will work as expected in case 1 ( import a ) blah in a.py and a.blah in python interpreter are the same _REFERENCE_, they are the same in case 2 (blah[0]=5) blah in a.py and a.blah in python interpreter are just 2 differents variables that reference the _SAME_ object, but here (the difference with your original case) the object ( a list ) is a mutable object (you can change its value without changing the object. Here blah=[5] should simply make blah reference a new object, but will let the old one, [None] untouched, but unreachable (no more reference to it) BR On 21 mar, 20:55, "abcd" <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list