如何在 Python 中共享不同模块之间的全局变量?
若要在 Python 中共享不同模块之间的全局变量,首先让我们了解什么是全局变量及其作用域。
全局变量
示例
如果一个变量在任何地方都可以访问,即在函数内甚至外部,则称为全局作用域。让我们看一个示例,
# Variable i = 10 # Function def example(): print(i) print(i) # The same variable accessible outside the function # Calling the example() function example() # The same variable accessible outside print(i)
输出
10 10 10
跨模块共享信息
现在,要在 Python 中跨单个程序的不同模块共享信息,我们需要创建一个 config 或 cfg 模块。要将其形成一个全局变量,即在任何地方都可以访问的全局变量(如上例所示),只需在应用程序的所有模块中导入 config 模块,
import config
在所有模块中导入模块后,该模块随即作为全局名称提供。由于每个模块只有一个实例,因此对模块对象所做的任何更改都会在任何地方反映出来。
现在让我们看一个示例。以下是 config.py
# Default value of the 'k' configuration setting k = 0
以下是 mod.py。它导入以上 config
import config config.k = 1
以下是 main.py。它导入 bode 配置和 mod
import config import mod print(config.k)
广告