這是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