思考三个问题。
- 元类是什么?
元类就是可以用来创建类的类。一般我们要创建一个类,都是使用class 关键字实现这个类。元类是可以动态的创建类,而不是一开始就定义好类的属性和函数,而是在运行过程中创建类。
- 元类做了那些事情?
元类主要做了三件事:拦截类的创建,修改类的定义,返回修改后的类。
- 元类可以用来做什么
元类的主要使用场景是创建一个API。不过python大师Tim Peters说过:元类是一种99%的人都不需要关心的深度魔法。当你在好奇你是否需要它,通常这就说明你并不需要(确切需要它的人不需要找任何原因解析为什么需要)。