[EMAIL PROTECTED] a écrit : (Martin, please, don't top post - fixed) > > Peter Otten wrote: >> MartinRinehart wrote: >> >>> However, here's the little tester I wrote: >>> >>> # t.py - testing >>> >>> global g >>> g = 'global var, here' >>> >>> def f(): >>> print g >>> >>> f() >>> >>> It prints 'global var, here,' not an error message. Wassup? >> Try it again with a modified f(): >> >> def f(): >> print g >> g = 42 >> >> In Python variables that are assigned to in a function are >> function-local by default. >> > > question is, why did the first one work?
The answer is just above. > In my real code I've got > module-level vars and an error msg trying to use them in a function. > In my test example I've got them accessed from within a function w/o > error message. > > I am confused. In the fist you're not rebinding the g. And FWIW, this is a FAQ. -- http://mail.python.org/mailman/listinfo/python-list