python共享模式

来源:互联网 发布:软件工程项目总监职责 编辑:程序博客网 时间:2024/06/03 21:51
class Borg:    __shared_state = {}    def __init__(self):        self.__dict__ = self.__shared_state        self.state = ''        self.exit = ''    def __repr__(self):        return self.state    def pr(self):        return self.exitclass YourBorg(Borg):    passif __name__ == '__main__':    rm1 = Borg()    rm2 = Borg()    rm1.state = 'Idle'    rm2.state = 'Running'    rm1.exit = 'rm1 no'    rm2.exit = 'rm2 yes'    print('rm1:', rm1)    print('rm2:', rm2)    print "rm1:", rm1.pr()    print "rm2:", rm2.pr()    rm2.state = 'Zombie'    print('rm1:', rm1)    print('rm2:', rm2)    print('rm1 id:', id(rm1))    print('rm2 id:', id(rm2))    rm3 = YourBorg()    print('rm1:', rm1)    print('rm2:', rm2)    print('rm3:', rm3)

运行结果:

('rm1:', Running)('rm2:', Running)rm1: rm2 yesrm2: rm2 yes('rm1:', Zombie)('rm2:', Zombie)('rm1 id:', 139826057555408)('rm2 id:', 139826057555552)('rm1:', )('rm2:', )('rm3:', )
0 0
原创粉丝点击