Question
Asked By – Sridhar Ratnakumar
Given a class Foo
(whether it is a new-style class or not), how do you generate all the base classes – anywhere in the inheritance hierarchy – it issubclass
of?
Now we will see solution for issue: List all base classes in a hierarchy of given class?
Answer
inspect.getmro(cls)
works for both new and old style classes and returns the same as NewClass.mro()
: a list of the class and all its ancestor classes, in the order used for method resolution.
>>> class A(object):
>>> pass
>>>
>>> class B(A):
>>> pass
>>>
>>> import inspect
>>> inspect.getmro(B)
(<class '__main__.B'>, <class '__main__.A'>, <type 'object'>)
This question is answered By – Jochen Ritzel
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0