ทุกคลาสคือออบเจ็กต์ มันเป็น instance ของสิ่งที่เรียกว่า metaclass Metaclass เริ่มต้นคือ type คุณสามารถตรวจสอบได้โดยใช้ฟังก์ชัน isinstance ตัวอย่างเช่น:
class Foo:
pass
foo = Foo()
isinstance(foo, Foo)
isinstance(Foo, type)
ผลลัพธ์:
True True
Metaclass ไม่ใช่ส่วนหนึ่งของ class hierarchy ของออบเจ็กต์ ในขณะที่ base classes เป็น Metaclasses ใช้สำหรับ initialize คลาส ไใช่ objects ของมัน
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Metaclasses และ inheritance ได้ที่ https://blog.ionelmc.ro/2015/02/09/understanding-python-metaclasses/