场景:main.py 和 submain.py 想共同操作一个变量aaa,但是全局变量不能跨文件。此时通过新建一个globals.py来存放这个变量。供所有文件操作。
实现:
main.py
import globals
import submain
#取出来看看
aaa=globals.get_aaa()
print(aaa)
#调用submain.py处理下aaa变量
submain.jiagong()
#再取出来看看
aaa=globals.get_aaa()
print(aaa)
globals.py
aaa="我是超级全局变量"
#封装get函数,供其他文件取值
def get_aaa():
global aaa
return aaa
#封装set函数,供其他文件改值
def set_aaa(bbb):
global aaa
aaa=bbb
submain.py
import globals
#加工一下
def jiagong():
#取值
bbb=globals.get_aaa()
#处理后放回去值
bbb=bbb+"我加工过了"
globals.set_aaa(bbb)
执行结果:
最简化的代码了,争取让大家一眼看懂。
globals.py还可以封装更多功能,变量aaa也可以改成列表、字典等还可以添加bbb,ccc等变量,只要懂原理其他都好说,可以查查其他复杂教程。