****************************** 元类编程 ****************************** 使用type创建类 ============================== 动态创建测试用例类 .. code-block:: python TestCase = type("FunctionTestCase", (unittest.TestCase,), dict()) metaclass ============================= https://docs.python.org/zh-cn/3.10/reference/datamodel.html#metaclasses 通常情况下,类是用来创建对象的模板,而元类则是用来创建类本身的模板。换句话说,元类控制着类的创建过程,可以在类定义时执行额外的操作,如修改类的行为、添加或移除属性和方法等。 使用案例: * django/forms/models.py ModelForm * sqlmodel SQLModel 网上的博客: https://www.jianshu.com/p/224ffcb8e73e .. note:: 重要概念: 元类能修改子类的行为,普通的继承关系不能这样做 .. seealso:: 一个典型的案例是Django的Model, 里面就有用metaclass