Can you explain what is metaclass and inheritance in Python?

Every class is an object. It's an instance of something called a metaclass. The default metaclass is typed. You can check this using the is instance function. For example,

class Foo:

foo = Foo()
isinstance(foo, Foo)
isinstance(Foo, type)

This will give the output:


A metaclass is not part of an object's class hierarchy whereas base classes are. These classes are used to initialize the class and not its objects.

You can read much more in-depth about Metaclasses and inheritance on

Updated on: 17-Jun-2020


Kickstart Your Career

Get certified by completing the course

Get Started