提供对象实例的全局访问点

时间:2010-07-28 17:07:28

标签: python global-variables

想象一个系统(Python),其中不同的部分不断地与给定对象的一个​​实例交互。为此实例提供全局访问点的最佳方法是什么?

到目前为止,我只能考虑根据需要在__init__.pyimport模块中构建(Singleton)实例:

# __init__.py
class Thing(object, Singleton):
 pass

TheThing = Thing()

__all__ = ['TheThing']  

有没有更好的方法来为TheThing提供全局访问点?

谢谢,

学家

1 个答案:

答案 0 :(得分:5)

不要在python中使用singletons。 Python模块是很棒的单例(它们只被初始化一次并且随处可用)如果需要,你可以将一个全局变量合二为一。

以下是解释:Is there a simple, elegant way to define singletons?