单例模式共享属性
通过共享属性达到单例模式
# coding=utf8class Borg(object):_state = {}def __new__(cls, *args, **kw):ob = super(Borg, cls).__new__(cls, *args, **kw)ob.__dict__ = cls._statereturn obdef __init__(self,x):self.x = xb1 = Borg(1) b2 = Borg(2)print b1.x print b2.xprint id(b1) print id(b2)
结果是
可以看到共享属性方式的单例模式,与前两篇的不一样,实例化多少次就有多少个对象产生,但每个对象的状态,也就是所有实例的属性都是保持一致的。
总结
- 上一篇: Facebook Docusaurus
- 下一篇: 了解区块链,从挖矿开始