type、class、object的关系

2018-10-25  本文已影响42人  流星雨的梦

1. python中一切皆对象:

其中函数和类也是对象,具体体现为:

2. type class boject

a = 1
type(1)    #结果为class int
type(int)  #结果为class type

type 有两个作用:一是返回对象的类型;二是实例化一个类对象。
上例中:type作为一个类,通过实例化产生一个新的类int或者说实例化产生一个class类型的对象int,int作为一个类,通过实例化产生一个对象1, 1这个对象赋值给变量a。因此平常所使用的类是由type这个类生成的一个对象。
object是所有类中最顶层(最基础的类)

image.png

总结如下:

image.png
以list为例。第一,list是type实例化产生的一个对象(故type(list)返回结果为type),因此list是一个对象;
第二,list是继承自object这个基础类的,因此list是一个类(list._bases_返回结果为objecct)
综上,list既是一个类,也是一个对象,因此python中类也是对象。
同样的,type可以实例化自己,也可以实例化object,同时继承自object
object是最基础的类,是由type实例化得到的
上一篇 下一篇

猜你喜欢

热点阅读