背景

程序模块化,那么一定有某个时候需要在文件之间传输变量。即多个文件共同使用同一个变量。

方法:模块法

在文件之间传递变量,通过global语句,在下目前是没办法的。而且:
某书中的原话:global语句用于将变量标记为全局的。在函数中,可使用它给全局变量重新赋值。使用global语句通常被视为糟糕的编程风格,因此应尽可能避免。

以前在别的语言里理解的在文件之间传递变量,大概就是某个文件A有个变量,自己要把A这个变量声明为全局的,代表别的文件可以使用。然后别的文件B要使用文件A的全局变量的时候,还得有个手续才能用。总之,挺绕的。

Python通过模块法使得不同文件可以使用同一个变量,一下子就直观了。

打个比方,python中,在文件之间共享的变量不属于谁,而是把这些变量统一放在一个地方。这个地方有点像是个公共图书馆,谁需要图书馆里的书,就去图书馆借(“拿”这个词好像不大好)。这个变量传输流程非常简明了。

如果有一个Python程序,无论这个程序有多少个需要在文件之间传递或共享的变量,都可以统一放在一个文件里。这个文件要不就先叫做library.py?其他的文件,需要使用某个共享变量的时候,import library就可以使用这个模块里的数据了。

一个简单的示例

shared_variable.py中专门存放需要在别的文件中使用的变量

两个python 两个python公用同一个变量_共享变量


我们想做的是,在Test.py中使用 shared_A 和 shared_B这两个变量,怎样做呢?

两个python 两个python公用同一个变量_Python_02

最后,衍生思考~

如果在需要在程序运行中修改共享变量,要如何呢