【发布时间】:2014-01-15 09:24:59
【问题描述】:
首先我想说我对 Python 编程相当陌生,因此我解决问题的方法可能不正确,如果是这种情况,请告诉我
我正在尝试使用 Singleton 类在我的代码中存储配置参数并在需要时使用它。我遇到了一个问题,即最初创建时存储在 Singleton 中的数据在随后对 Object 的调用中没有保留。
也许我创建 Singleton 对象的方式不正确,但我遵循的是 SO 上的代码示例。
首先是我的单例类
class Config(object):
__instance = None
dbserver = ""
def __new__(cls):
if cls.__instance == None:
__instance = object.__new__(cls)
__instance.name = "Configuration Object"
return __instance
这是我最初创建的单例实例
configurator = Config()
configurator.dbserver = dbserver
随后我执行以下操作,dbserver 属性返回空字符串。
configurator = Config()
print configurator.dbserver
感谢您的阅读。
【问题讨论】:
-
cls.__instance始终是None,因此每次都会创建新对象。