Print out class tree : Class Inheritance « Class « Python






Print out class tree

Print out class tree
 
def classtree(cls, indent):
    print '.'*indent, cls.__name__        # print class name here
    for supercls in cls.__bases__:        # recur to all superclasses
        classtree(supercls, indent+3)     # may visit super > once

def instancetree(inst):
    print 'Tree of', inst                 # show instance
    classtree(inst.__class__, 3)          # climb to its class

def selftest():
    class A: pass
    class B(A): pass
    class C(A): pass
    class D(B,C): pass
    class E: pass
    class F(D,E): pass
    instancetree(B())
    instancetree(F())
    
if __name__ == '__main__': selftest()


class Emp: pass

class Person(Emp): pass

bob = Person()

instancetree(bob)
           
         
  








Related examples in the same category

1.Use __class__, __bases__ and __dict__ for sub and super classUse __class__, __bases__ and __dict__ for sub and super class
2.Class inheritedClass inherited
3.Inherited methodInherited method
4.Polymorphism: override the function from base class
5.Definition and test function for class Circle which is based on Point class
6.Derived class inheriting from a base class.
7.Multiple Inheritance
8.inheriting from multiple superclasses
9.Use Inheritance to add more features to a class
10.class extending dict type
11.Class inheritance: inherit member variable override functionClass inheritance: inherit member variable override function