初学Python,关于object和type的理解

初学Python,关于object和type的理解

object(类)是一个类。

type(类)也是一个类。

object类是所有的类的父类的父类的父类… 即,其它所有的类都是object类的子类,(而并非它的实例(类变量))。

type类是个不一般的类,这是因为type类的实例,即type类的类变量,竟然是所有的类(也包括它自己)。

那么总结起来就是:所有的类都是type类的实例,所有的类都是object类的子类。

瞬间揪心了:object类竟然是它的一个子类(type)的实例;同样揪心的是:type类竟然是它的一个实例(object)的子类。

最后的问题是让我产生这一系列问题的type函数。从笔者的角度看,让type函数和type类重名绝对是一个巨大的恶趣味。

type函数用以返回它后面括号里的那个东西所属于的类,换句话说,括号的东西是哪个类的实例,就返回哪个类,(只返回一层,而不管类的父类)。值得特别指出的是,括号里的那个东西也可以是一个类。

于是就有了:
type(1) 返回 int 类;
type(int) 返回 type 类;
type(type) 返回 type 类;
type(boject) 返回 type 类;
目前还不清楚tpye(什么)可以返回 object 类。

写在最后:
笔者初学 Python,在这个问题上纠结了好久,也不知道本文的理解对不对,恳请路过大神分享经验,留言指正!Python 的版本是3.6。

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页