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 -
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)
(, , )