Globals or objects? (is: module as singleton)
duncan.booth at invalid.invalid
Thu Feb 21 17:40:42 CET 2008
"James Newton" <jnewton at fuelindustries.com> wrote:
> Perhaps my real question is about how to visualize a module: what makes
> an imported module different from an instance?
On one level: nothing. An imported module is an instance of the module
type. Modules don't have to be associated with python code: you can create
additional module instances (by calling new.module) and populate them
however you wish.
What you get with a module is support for locating a specific module and
ensuring that you don't get duplicate copies of a named module.
What you lose is the ability to define methods: functions in a module don't
have a 'self' parameter. Also you can't override special methods for a
module, so it isn't quite equivalent to writing a class, but there are
Regarding your question about saving the values: what you would usually do
would be to store the values in a separate configuration file and the
module would load them on startup and then rewrite the configuration file
when you call a save function. That way the module code itself isn't
changing. The 'singleton' config module would expose functions such as
'load', 'save', 'getXXX'.
More information about the Python-list