如何在 Python 中共享不同模块之间的全局变量?


若要在 Python 中共享不同模块之间的全局变量,首先让我们了解什么是全局变量及其作用域。

全局变量

示例

如果一个变量在任何地方都可以访问,即在函数内甚至外部,则称为全局作用域。让我们看一个示例,

Open Compiler
# 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)

更新于: 19-Sep-2022

5K+ 访问量

开启您的事业

通过完成课程获得认证

开始
广告