python跨文件使用全局变量的实现
Python定义了全局变量的特性,使用global关键字修饰
globalkey_word
但是他的一大缺陷就是只能本module中也就是本文件中使用,跳出这个module就不行。
try1:
使用一个更宏观的思路,全局变量就用全局加载的模块解决,很遗憾也是不行,
file_1:
globala a="test"
file2:
importfile_1 print(a)
报错a没有定义
try2:
file_1:
globala a="test"
file2:
importfile_1 print(file_1.a) file_1.a="aaa" print(file_1.a)
这样可以,但是如果再有一个module想用呢?
try2:
file_1:
globala a="test"
file2:
importfile_1 print(file_1.a) file_1.a="aaa" print(file_1.a)
file2:
importfile_1 importfile_2 print(file_1.a) file_1.a="aaa" print(file_1.a)
这样就会报错,因为import加载就会执行一遍子module,两个moduley引用关系死锁了。
try3:
最终使用公共数据结构方式解决
file_1:
definit():
globala
a={}
defset(arg,value):
a[arg]=value
defget(arg)
returna[arg]
file2:
importfile_1
print(file_1.a)
file_1.set("test",(test_value))
file2:
importfile_1
importfile_2
file_1.init()
print(file_1.get("test"))
思路就是使用一个公共的字典的数据结构,在主module中初始化,其他module都应用此module,但是不重新初始化字典。
到此这篇关于python跨文件使用全局变量的实现的文章就介绍到这了,更多相关python跨文件全局变量内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短