Get the ancestors of a python class
Python has inheritance, but if you encounter a Python object in a program, how can you tell what it's superclasses are?
mro
is an abbreviation for method resolution. Use the mro
method on class
.
>>> something = object() type(something).mro()
[<class 'object'>]
This is just an object of type object, it's only class is object. Let's get a bit more complicated.
>>> class Fruit:
... pass ...
>>> class Apple(Fruit):
... pass ...
>>> Apple.mro()
[<class '__main__.Apple'>, <class '__main__.Fruit'>, <class 'object'>]
OK, Apple inherits from Fruit which inherits from object. Makes sense!
Tweet