一、Type介绍
在Python中一切皆对象,类它也是对象,而元类其实就是用来 创建类的对象 (由于一切皆对象,所以元类其实也是一个对象)。
先来看这几个例子:
例1:
In [1]: type(12) Out[1]: int
通过 type 可以查看对象的类型,也就是查看对象是那一类的,这里可以看出来 12 是 int 类型的也就是整数类。由于一切皆对象,那么我们也可以查看 int 是属于哪一个类型的。
In [2]: type(int) Out[2]: type
通过这样的操作可以看出来 int 是 type 类型的,也就是说 int 类是 type 类实例化得到的对象。按照这样的思路在来看看 type 类是什么类型。
In [3]: type(type) Out[3]: type
从上面可以看出来 type 是 type 类型的对象
例2:在来看这样一个规律
In [4]: class Foo: ...: pass ...: In [5]: f = Foo() In [6]: type(f) Out[6]: __main__.Foo In [7]: type(Foo) Out[7]: type In [8]: type(type) Out[8]: type
由上可以看出,实例 f 是 Foo 类的对象,Foo 这个自定义的类它是 type 类型的,并且 type 也是 type 类型的。
总结:
- 实例是类的实例;----------------------> f 是 Foo 类的实例
- 类是 type 类的实例;----------------->