通过导入Python全局变量?
这种形式的全局变量声明在Python中是否是良好的实践?我的字典在某些情况下没有B.py格式的数据。只是看起来不一致 类.py通过导入Python全局变量?,python,import,global-variables,Python,Import,Global Variables,这种形式的全局变量声明在Python中是否是良好的实践?我的字典在某些情况下没有B.py格式的数据。只是看起来不一致 类.py class Aclass: dict = {} myClass = Aclass() A.py: B.py: A.py在B.py之前处理。这会为我打印一个空的dict{} 这是前一篇文章中的一个简化问题:。感谢您的洞察力。如果在A.py中您将其更改为 myClass.dict["variable"]="hello" (如评论中所指出) 然后这个问题就变得有
class Aclass:
dict = {}
myClass = Aclass()
A.py:
B.py:
A.py在B.py之前处理。这会为我打印一个空的dict{}
这是前一篇文章中的一个简化问题:。感谢您的洞察力。如果在A.py中您将其更改为
myClass.dict["variable"]="hello"
(如评论中所指出)
然后这个问题就变得有趣了
这没关系,但最好有另一个接口(函数、方法)来访问该数据。这是一种存储模块状态的方法。称为myClass(!)的对象在a和b中都是相同的
多个导入是安全的,除了返回同一个加载的模块外,什么都不做。A.py不处理变量。它只是尝试访问字典中的条目。你的意思是说
myClass.dict[“variable”]=“value”
(或者类似的意思)?想让大家都知道这个问题有点隐秘,谢谢你们的帮助。它通过两个路径导入相同的文件:一个导入了project.classes.myClass,另一个只导入了classes.myClass,创建了两个单独的实例。这篇文章是从这篇文章中删减的:。。。因为以前导入的模块(在同一过程中,o.c.)保存在sys.modules
dictionary.:)
from classes import myClass
print str(myClass.dict)
myClass.dict["variable"]="hello"