贝利信息

Python元类入门教程_类的类工作原理

日期:2026-01-07 00:00 / 作者:冷炫風刃
Python元类是理解类创建机制的核心,本质是type——所有类(包括type自身)都是type的实例;类定义时元类通过__new__构造类对象、__init__初始化类,自定义元类需继承type并用metaclass关键字指定,且具有向子类传递的特性。

Python元类不是“高级技巧”,而是理解类如何被真正创建的关键。它回答一个问题:当你写下 class MyClass:,背后发生了什么?答案是——有一个“类的类”在干活,这个就是元类。

元类就是 type,type 就是元类

在 Python 中,所有类(包括 intstr、你写的 MyClass)都是 type 的实例:

类的创建分三步,元类全程参与

每次执行 class 语句,Python 实际做了三件事,元类的两个方法分别对应前两步:

自定义元类必须继承 type

写一个元类,本质是写一个继承 type 的类,并重写 __new____init__

元类行为具有传递性

如果父类指定了元类,它的所有子类(除非显式指定另一个元类)都会自动使用该元类: