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是所有类中最顶层(最基础的类)
- 从上图中可以看出type的父类是object,即object是一个类,且是type的父类。
- object的父类为空,说明object是所有类中最基础的类。
- object作为一个对象,是由type这个类实例化产生的
总结如下:
以list为例。第一,list是type实例化产生的一个对象(故type(list)返回结果为type),因此list是一个对象;
第二,list是继承自object这个基础类的,因此list是一个类(list._bases_返回结果为objecct)
综上,list既是一个类,也是一个对象,因此python中类也是对象。
同样的,type可以实例化自己,也可以实例化object,同时继承自object
object是最基础的类,是由type实例化得到的