Python - Class Generic Display Tool


The following code displays class names and formats all attributes of an instance of any class.


class AttrDisplay: 
   def gatherAttrs(self): 
       attrs = [] # w w w  . jav a2  s  . co  m
       for key in sorted(self.__dict__): 
           attrs.append('%s=%s' % (key, getattr(self, key))) 
       return ', '.join(attrs) 

   def __repr__(self): 
       return '[%s: %s]' % (self.__class__.__name__, self.gatherAttrs()) 

if __name__ == '__main__': 

   class TopTest(AttrDisplay): 
       count = 0 
       def __init__(self): 
           self.attr1 = TopTest.count 
           self.attr2 = TopTest.count+1 
           TopTest.count += 2 
   class SubTest(TopTest): 

   X, Y = TopTest(), SubTest()      # Make two instances 
   print(X)                         # Show all instance attrs 
   print(Y)                         # Show lowest class name


Related Topic