12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- class Borg:
- __shared_state = {}
- def __init__(self):
- self.__dict__ = self.__shared_state
- 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: 139825262601040
- # rm2 id: 139825262601104
- # rm1: Zombie
- # rm2: Zombie
- # rm3: Zombie
|