text: #!/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
  