python模块间共享全局变量
在Python中,我们可以在不同的模块中定义全局变量,并且可以在其他模块中访问和修改这些全局变量。本文将详细介绍如何在Python模块间共享全局变量。
什么是全局变量
全局变量是在整个程序中都可以访问的变量,它们不局限于某个特定的函数或类内部。在Python中,我们可以在任何地方定义全局变量,比如在模块的顶层。
在一个模块中定义全局变量
首先,让我们创建一个名为module1.py
的模块,并在其中定义一个全局变量global_var
:
# module1.py
global_var = 10
在另一个模块中访问全局变量
现在,我们创建另一个名为module2.py
的模块,并在其中访问module1.py
中定义的全局变量global_var
:
# module2.py
import module1
print(module1.global_var)
当我们运行module2.py
时,会输出全局变量global_var
的值:
10
在一个模块中修改全局变量
除了访问全局变量外,我们还可以在一个模块中修改另一个模块中定义的全局变量。让我们继续使用上面的示例,在module2.py
中修改global_var
的值:
# module2.py
import module1
module1.global_var = 20
print(module1.global_var)
再次运行module2.py
,会发现global_var
的值已经被修改为20:
20
使用global
关键字
在Python中,如果要在函数内部修改全局变量,我们需要使用global
关键字将变量声明为全局变量。让我们创建一个名为module3.py
的模块,并在其中定义一个函数修改全局变量:
# module3.py
import module1
def change_global_var():
global global_var
global_var = 30
change_global_var()
print(module1.global_var)
当我们运行module3.py
时,会发现global_var
的值被成功修改为30:
30
总结
在Python中,模块间共享全局变量是很常见的操作。我们可以在一个模块中定义全局变量,然后在其他模块中访问和修改这些全局变量。通过使用import
关键字,可以方便地在不同的模块之间实现全局变量的共享。