Steve Holden <[EMAIL PROTECTED]> writes:

> If a function uses a global variable then you have to initialize the
> same global variable in another program that uses it: yet another
> piece of setup you will forget to do.

If the global variable belongs to the module, then it is up to the
module to initialize it.  A different program program will simply
import the same module and automatically get the same variable,
properly initialized.

One reason why a singleton's attribute may be better than a global
variable is that it's easier to later add a callback when the value is
changed without breaking the interface.  A module cannot react to
module.somevar = value; on the other hand, a singleton can implement
__setattr__ that reacts to module.singleton.attr = value.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to