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
>>> 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