单态模式--所有实利共享状态

单态模式就是所有的对象共享相同的状态

class Brog(object):
    __shared_state = {"1": "2"}
    def __init__(self):
        self.x = 1
        self.__dict__ = self.__shared_state
b = Brog()
b.x = 4

b1 = Brog()
>>> b1.__dict__
>>> {"1":"2", "x": 4}

这里b,b1共享了相同的状态。实现原理就是shared_state是一个中间变量, b.__dcit 指向shared_state所指的内存地址,b1.__dict也指向shared_state所指的内存地址,也就是说 b.__dcit, b1.dict, __shared_state指向同一块内存

猜你喜欢

转载自blog.csdn.net/python_tty/article/details/81114915