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.exit
class YourBorg(Borg):
pass
if __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 yes
rm2: rm2 yes
('rm1:', Zombie)
('rm2:', Zombie)
('rm1 id:', 139826057555408)
('rm2 id:', 139826057555552)
('rm1:', )
('rm2:', )
('rm3:', )