这种形式的全局变量声明在Python中是好的实践吗?我的字典在某些情况下没有B.py中的数据。只是看起来不一致。
classes.py
class Aclass:
dict = {}
myClass = Aclass()
A.py:
from classes import myClass
myClass.dict["variable"]
B.py:
from classes import myClass
print str(myClass.dict)
A.py在B.py之前处理。这为我打印了一个空的dict {}
。
这是上一篇文章中的一个简化问题:Django中URL和上下文处理器之间的共享/全局词典。感谢您的真知灼见。
如果在A.py中将其更改为
myClass.dict["variable"]="hello"
(如评论中所指出的)
那么这个问题就变得有趣了。
这是可以的,但最好有另一个数据接口(函数、方法)。这是一种存储模块状态的方法。您称之为myClass(!)的对象在a和b中都是相同的。
多个导入是安全的,除了返回相同的加载模块外,什么也不做。