Metaclass คือคลาสที่มีคลาสเป็นอินสแตนซ์ (Instances) เหมือนที่คลาสทั่วไปกำหนดพฤติกรรมของอินสแตนซ์ Metaclass ก็กำหนดพฤติกรรมของคลาสและอินสแตนซ์ของมัน
Python รองรับ Metaclass บางโปรแกรมเมอร์มองว่า Metaclass ใน Python เป็น "โซลูชันที่รอค้นหาปัญหา"
การประยุกต์ใช้ Metaclass:
- Logging และ Profiling
- Interface Checking
- Registering Classes ตอนสร้าง (Class Registration)
- เพิ่มเมธอดใหม่โดยอัตโนมัติ
- สร้าง Property อัตโนมัติ
- Proxies ฯลฯ