元类是什么
Python程序员经常说一句话:“一切皆对象”,意思是在Python中,你能见到的所有东西,包括int, float, function等等都是对象。但是在日常的开发中,当说到对象的时候,我们可能不会马上就想到类。实际上类也是对象,既然类也是对象,那么就存在一种途径来创建一个类,这就是元类出场的地方,元类就是创建类的类。
元类做了什么
元类会拦截类的创建过程,对类进行修改,然后返回修改后的类。
仅仅看上面这一句话,元类似乎很简单,但是由于元类可以改变一个类的创建过程,可以在其中做一些奇技淫巧的事情,就会让整个事情变得异常晦涩难懂。
type是python中一切类的元类,对一个对象一直调用type(),就会发现最终都会指向type, type比较特殊,type自己是自己的元类。
可以使用type这样创建一个类