Python设计模式(三)【共享模式】

来源:互联网 发布:sai软件官方下载 编辑:程序博客网 时间:2024/06/14 02:34

又来干货,继续努力,少年!

# 共享模式class Borg:    """共享状态"""    __shared_state = {}    def __init__(self):        self.__dict__ = self.__shared_state        self.state = '初始化'    """当你打印一个类的时候,那么print首先调用的就是类里面的定义的__str__"""    """当打印Borg的一个实例的时候,__str__函数被调用到"""    def __str__(self):        return self.stateclass YourBorg(Borg):    """Python pass是空语句,是为了保持程序结构的完整性。       pass 不做任何事情,一般用做占位语句。"""    passif __name__ == '__main__':    rm1 = Borg()    rm2 = Borg()    rm1.state = '空闲的'    rm2.state = '运行中的'    print('rm1: {0}'.format(rm1))    print('rm2: {0}'.format(rm2))    """改变(共享的)状态"""    rm2.state = '僵尸'    print('rm1: {0}'.format(rm1))    print('rm2: {0}'.format(rm2))    print('rm1 id: {0}'.format(id(rm1)))    print('rm2 id: {0}'.format(id(rm2)))    """初始化(共享的)状态"""    rm3 = YourBorg()    print('rm1: {0}'.format(rm1))    print('rm2: {0}'.format(rm2))    print('rm3: {0}'.format(rm3))

结果如图:

这里写图片描述

0 0