您的位置:首页 > 编程语言 > Python开发

Python单例模式

2016-01-06 09:34 706 查看

方法1:

class Singleton(object):
_instance = None

def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)

return cls._instance

s1 = Singleton()
s2 = Singleton()

assert id(s1) == id(s2)

方法2:

利用模块实现单例模式

方法3:

Borg模式

class Borg:
__shared_state = {}

def __init__(self):
self.__dict__ = self.__shared_state


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: