FreeMind
FreeMind

Reputation: 233

Defining global variables for a python package

Suppose I have coded a particular Python package. What is the proper way to structure global variables? Should I define all global variables in one file and simply import them everywhere else? Is there a proper way to define global variables for a python package?

Upvotes: 0

Views: 72

Answers (1)

Shahab Rahnama
Shahab Rahnama

Reputation: 1012

How do I share global variables across modules? The canonical way to share information across modules within a single program is to create a special module (often called config or cfg). Just import the config module in all modules of your application; the module then becomes available as a global name. Because there is only one instance of each module, any changes made to the module object get reflected everywhere.

For example:

config.py:

x = 0   # Default value of the 'x' configuration setting

mod.py:

import config
config.x = 1

main.py:

import config
import mod
print(config.x)

Note that using a module is also the basis for implementing the Singleton design pattern, for the same reason.

Source

Upvotes: 2

Related Questions