Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คุณช่วยอธิบายว่า metaclass และการสืบทอดใน Python คืออะไร?


ทุกชั้นเรียนเป็นวัตถุ เป็นตัวอย่างของสิ่งที่เรียกว่า metaclass มีการพิมพ์ metaclass เริ่มต้น คุณสามารถตรวจสอบได้โดยใช้ฟังก์ชัน is instance ตัวอย่างเช่น

class Foo:
   pass

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

สิ่งนี้จะให้ผลลัพธ์:

True
True

metaclass ไม่ได้เป็นส่วนหนึ่งของลำดับชั้นของวัตถุในขณะที่คลาสพื้นฐานอยู่ คลาสเหล่านี้ใช้เพื่อเริ่มต้นคลาส ไม่ใช่วัตถุ

คุณสามารถอ่านเชิงลึกเพิ่มเติมเกี่ยวกับ Metaclasses และการสืบทอดได้ที่ https://blog.ionelmc.ro/2015/02/09/understanding-python-metaclasses/