通过导入Python全局变量?

通过导入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" (如评论中所指出) 然后这个问题就变得有

这种形式的全局变量声明在Python中是否是良好的实践?我的字典在某些情况下没有B.py格式的数据。只是看起来不一致

类.py

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"