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

原创 2018年04月14日 22:25:50

初学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。

Python 的 type 和 object 之间是怎么一种关系?

python有很多内置数据类型,比如int、float、str等,还有type、object,以及我们自定义的类,他们都什么关系呢?原文:Python 的 type 和 object 之间是怎么一种关...
  • sinat_38566034
  • sinat_38566034
  • 2017-08-11 14:06:15
  • 391

Python中type与Object的区别

博客分类:  Python Python      初学Python的时候,对定义类的时候,为选择括号内是写object还是type而苦恼。在查看了Python的API后,总算明...
  • oMingZi12345678
  • oMingZi12345678
  • 2014-10-25 11:19:54
  • 1522

解决Python中出现的TypeError: object of type 'zip' has no len()

不罗嗦,直接解决问题! 问题:TypeError: object of type 'zip' has no len() 参考国外网友回答: 解决方案:将 print(len(t...
  • qq_41185868
  • qq_41185868
  • 2018-01-11 23:59:37
  • 668

Python的类型和对象

  • 2011年07月04日 12:53
  • 374KB
  • 下载

Python标准库:内置函数type(object)

type(object) type(name, bases, dict) 本函数是返回对象的类型对象。只有一个参数object时,直接返回对象的类型对象。如果只是想判断一个对象是否属于某一个类的对象,...
  • caimouse
  • caimouse
  • 2015-06-07 11:35:17
  • 2672

python object和type

一、object和type的关系   首先了解2条规则   1.若x是A的一个实例,且A是B的子类,那么x也是B的一个实例   2.若B是M的实例,且A是B的子类,那么A也是M的一个...
  • oMingZi12345678
  • oMingZi12345678
  • 2014-10-25 11:22:43
  • 1141

Python Intro - zip object

#!/usr/local/bin/python3 try:     import numpy as np except ImportError:     print("numpy is not ins...
  • fanbird2008
  • fanbird2008
  • 2015-04-15 15:51:46
  • 1225

TypeError: object of type 'zip' has no len()、'zip' object is not subscriptable

笔者遇到的问题:1. print(len(training_data)) TypeError: object of type ‘zip’ has no len()2. print(trainin...
  • qq_17105473
  • qq_17105473
  • 2017-05-31 20:18:06
  • 3982

TypeError: object of type 'NoneType' has no len()

源代码: resp_data = None 修改后代码: resp_data = '' 原因:你肯定懂了!
  • xumesang
  • xumesang
  • 2016-04-22 17:07:48
  • 6139

[Python]json 错误xx is not JSON serializable

在使用json的时候经常会遇到xxx is not JSON serializable,也就是无法序列化某些对象。 经常使用django的同学知道django里面有个自带的Encoder来序列化时间...
  • lzz957748332
  • lzz957748332
  • 2014-03-16 14:06:39
  • 31462
收藏助手
不良信息举报
您举报文章:初学Python,关于object和type的理解
举报原因:
原因补充:

(最多只允许输入30个字)