python类与对象之type和object

都说python中一切皆对象,我在学python时,总有一些小疑惑,不搞清简直如鲠在喉。

 

怎么理解 a = 1 ?

 

我总结了一下:

a是一个变量名为a的变量,指向计算机中的一片内存,内存中保存的值是1。那1是什么呢?

1是int的一个实例化对象,int是1的类型。那int是什么呢?

int是type的一个实例化对象,而type是int的类型。那type是什么呢?

type的类型还是type,继承自基类object,是object的一个子类。那object是什么呢?

object是所有类的基类。由于一切皆对象的真理存在,object又是type的一个实例化对象,type是object的类型。

这就有点呵呵了。。。

type是object的子类,而object却是type的实例。从而不难理解type的类型还是type,因为object的类型是type。

其实,type是python的元类,type元类创建了所有的类,包括它自己。

那type具体是怎么创建其他类的呢?

type()函数根据传入参数的不同,有不同的功能。

给它传入个类名,元组父类,字典属性和方法,它就能创建一个类了。

 

 

 

既然python中一切皆对象,那么函数呢?

在现在的python中,类型和类其实是一个东西了。

 

 

既然函数test是function类型的,那么function就是个类,test是function类的实例化对象。

如果真是如此,那type(function)的结果应该是type。

实际情况是,function根本就没定义。这就奇怪了呀!望知之者告知。

 

 

 

未完待续。。。

posted @ 2020-03-18 10:06  天青色wy  阅读(430)  评论(0编辑  收藏  举报