เมตาคลาสคือคลาสที่มีคลาสเป็นอินสแตนซ์ เช่นเดียวกับคลาส "ธรรมดา" ที่กำหนดพฤติกรรมของอินสแตนซ์ของคลาส metaclass ยังกำหนดพฤติกรรมของคลาสและอินสแตนซ์ของคลาสนั้นด้วย
Python รองรับ Metaclasses โปรแกรมเมอร์บางคนถือว่า metaclasses ใน Python เป็น "วิธีแก้ปัญหาที่รอหรือมองหาปัญหา"
มีการใช้งาน metaclasses มากมาย บางส่วนของพวกเขาคือ −
-
การบันทึกและการทำโปรไฟล์
-
การตรวจสอบอินเทอร์เฟซ
-
การลงทะเบียนเรียนในเวลาที่สร้าง;
-
เพิ่มวิธีการใหม่โดยอัตโนมัติ
-
การสร้างคุณสมบัติอัตโนมัติ
-
ผู้รับมอบฉันทะ ฯลฯ