Gabriel Genellina wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">En Fri, 30 Oct 2009 00:29:27 -0300, Steven D'Aprano <st...@remove-this-cybersource.com.au> escribió:
On Thu, 29 Oct 2009 10:31:03 -0700, AK Eric wrote:

2/ in Python, "global" really means "module-level" - there's nothing
like a "true" global namespace.
<snip>
It isn't a neat trick anymore once you realize the name '__main__' isn't special.

Replace __main__ with foo, or config, or whatever, and you get the same results. Ok, there is a catch: a file with that name must exist, at least an empty one...

You're just importing the same module from two places; changes done in one place are reflected in the second place, like with any other object.

Thanks for saying that.

There are two interrelated advantages to using a separate module for the purpose.
1) it avoids circular dependency
2) it makes it clear who gets to initialize these "globals"; if this module doesn't import anything else (other than stdlib stuff), it'll run to completion before anyone who tries to use these values. So it can give them all their initial value, and avoid anyone else needing to do any "existence check" nonsense.

When I've done it, I've called the module globals.py, or flags.py depending on the primary intent.

DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to