Pat a écrit :
I have a Globals class.

Not sure it's such a great idea, but anyway... What's the use case for this class ? There are perhaps better (or at least more idiomatic) solutions...

In it, I have a variable defined something like this:

remote_device_enabled = bool

Could you show actual code ? It would really help. But it seems your 'Globals' class is mostly 1/ a singleton and 2/ used for application wide settings. Is that right ?

In one module, I assign True/False to Globals.remote_device_enabled.

Directly to the class ?

Please, once again, provide real code. Well... not necessarily your whole code, but at least minimal working code that reproduces the problem.

Once set, this value never changes.

In another module, at the top after the imports statements, I tried this:

from Globals import *

<ot>
The convention is to use lower case names for modules (and MixedCase names for classes). This avoids confusion between synonym classes and modules...
</ot>

RDE = Globals.remote_device_enabled

This way, I thought that I could just use 'if RDE:'

Within the functions, however, I get a different value. What am I misunderstanding?

Not enough informations, and my crystal ball is out for repair. Sorry. Perhaps some actual code may help ?-)

I tried this at the top of the module (but it didn't word):

global RDE

Outside a function body, the 'global' statement is a no-op. In Python, 'global' really means 'module-level', so anything defined at the module level is already as global as it can be.

RDE =  Globals.remote_device_enabled

Of course, within a function, the variable using the same two lines of code assigns the correct value to RDE.

Sorry Pat, but there's just not enough context for us to guess what's wrong. It's easy enough to get it wrong with real code, so trying to guess is just a waste of time.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to