1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- class Borg:
- __shared_state = {}
- def __init__(self):
- self.__dict__ = self.__shared_state
- self.state = 'Init'
- def __str__(self):
- return self.state
- class YourBorg(Borg):
- pass
- if __name__ == '__main__':
- rm1 = Borg()
- rm2 = Borg()
- rm1.state = 'Idle'
- rm2.state = 'Running'
- print('rm1: {0}'.format(rm1))
- print('rm2: {0}'.format(rm2))
- rm2.state = 'Zombie'
- 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))
- ### OUTPUT ###
- # rm1: Running
- # rm2: Running
- # rm1: Zombie
- # rm2: Zombie
- # rm1 id: 140732837899224
- # rm2 id: 140732837899296
- # rm1: Init
- # rm2: Init
- # rm3: Init
|