繁体   English   中英

通过导入Python全局变量?

[英]Python Global Variable Through Import?

这种形式的全局变量声明是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相同。

多个导入是安全的,除了返回相同的已加载模块外什么也不做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM