这是Python中的全局变量声明的良好实践形式吗?在某些情况下,我的字典在B.py中没有数据。看起来不一致。Python全局变量通过导入?
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.之前处理这为我打印了一个空字典{}
。
这是上一篇文章的简化问题:Shared/Global Dictionary in Django Between URLs and Context Processor。感谢您的见解。
A.py不会对变量做任何事情。它仅尝试访问字典中的条目。你的意思是说'myClass.dict [“variable”] =“value”'(或者这个效果)? – HardlyKnowEm
希望大家知道这个问题稍微有点阴险,并感谢您的帮助。它通过两条路径导入相同的文件:一个导入了project.classes.myClass,另一个导入了classes.myClass,创建了两个单独的实例。这是减少的帖子是这一个:[URL /上下文处理器之间的Django共享/全球词典](http://stackoverflow.com/questions/9010797/shared-global-dictionary-in-django-between-urls -and-context-processor) – garromark