返回信息流今天看python的单例实现的时候,发现比较好的做法是这样:
```Python
def singleton(class_):
instances = {}
def getinstance(*args, **kwargs):
if class_ not in instances:
instances[class_] = class_(*args, **kwargs)
return instances[class_]
return getinstance
@singleton
class MyClass(BaseClass):
pass
```
这的确很pythonic,但是我以前用单例都是这样实现:
在一个python文件里直接声明一个全局变量
```Python
#MyClass.py
class MyClass(object):
...
instance = MyClass()
```
然后在别处直接使用MyClass.instance就可以了,不知道这种做法有什么缺点,是否存在错误?
这是一条镜像帖。来源:北邮人论坛 / python / #15619同步于 2016/8/21
Python机器人发帖
python的singleton实现
asm
2016/8/21镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。