Question about scope
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Fri Oct 24 04:08:48 EDT 2008
Pat a écrit :
(snip)
>
> Stripping out the extra variables and definitions, this is all that
> there is.
> Whether or not this technique is *correct* programming is irrelevant.
It's obviously relevant. If it was correct, it would work, and you
wouldn't be asking here !-)
> I
> simply want to know why scoping doesn't work like I thought it would.
>
>
> ---> myGlobals.py file:
>
> class myGlobals():
> remote_device_enabled = bool
<irrelevant>
You're using the class as a bare namespace. FWIW, you could as well use
the module itself - same effect, simplest code.
</irrelevant>
> ---> my initialize.py file:
>
> from myGlobals import *
> def initialize():
> myGlobals.remote_device_enabled = True
>
> ---> my main.py file:
>
> import from myGlobals import *
I assume the first "import" is a typo. But this sure means you didn't
run that code.
> RDE = myGlobals.remote_device_enabled
>
> def main():
> if RDE: # this will not give me the correct value
For which definition of "correct value" ? You didn't import nor execute
initialize() so far, so at this stage RDE is bound to the bool type
object. FWIW, note that calling initialize *after* the assignement to
RDE won't change the fact that RDE will be still bound to the the bool
type object.
<irrelevant>
You may want to have a look at how other Python application manage
application-wide settings.
</irrelevant>
More information about the Python-list
mailing list