一.定义

1.object是所有新式类的父类
2.type是所有类的类 

二.解析

下面通过代码来比较一下object和type的关系(__class__获取所属的类,__bases__获取父类)
print('object', object.__class__, object.__bases__)
print('type', type.__class__, type.__bases__)
输出: object <class 'type'> () type <class 'type'> (<class 'object'>,)

可以得出以下结论:
1.type和object都属于type类 class 'type'
2.object类的父类为空
3.type的父类为object类 class 'object' 
在看一下python的基本数据类型list、dict和tuple的情况
print('list', list.__class__, list.__bases__)
print('dict', dict.__class__, dict.__bases__)
print('tuple', tuple.__class__, tuple.__bases__)
输出:
list <class 'type'> (<class 'object'>,)
dict <class 'type'> (<class 'object'>,)
tuple <class 'type'> (<class 'object'>,)

可以得出以下结论:
1.它们都属于type类 class 'type'
2.父类都是object类 class 'object' 
比较一个实例化的list:
li = [1, 2]
print(li.__class__)  # <class 'list'>
print(li.__bases__)  # AttributeError: 'list' object has no attribute '__bases__'

在实例化一个自定义类

class MyClass:pass
print('MyClass', MyClass.__class__, MyClass.__bases__)
print('*'*50)
print('MyClass Obj', MyClass().__class__)
print('MyClass Obj', MyClass().__bases__) # 报错
输出:
MyClass <class 'type'> (<class 'object'>,)
**************************************************
MyClass Obj <class '__main__.MyClass'>

可以得出:

  1. 自定义类本身属于type类 class 'type' ,并且父类是object类 class 'object'

  2. 自定义类的实例化的对象属于类本身,并且对象不存在父类属性

比较自定义元类:

class MyMetaClass(type):pass
print('MyMetaClass', MyMetaClass.__class__, MyMetaClass.__bases__)输出:
MyMetaClass <class 'type'> (<class 'type'>,)

三.总结

type元类的类则是由type元类自身创建的。object类是由元类type创建的,但是type类又继承了object类。
图示:虚线表示源是目标的实例,实线表示源是目标的子类 

转载于:https://www.cnblogs.com/lshedward/p/10168115.html

type和object相关推荐

  1. python 中type和object的关系

    学习python的同学都知道这么几句话 object类是所有新式类的父类. type是所有类的类. 那么type和object是什么关系呢? object是一个新式类,我们可以通过object.__c ...

  2. Python中type和object的关系

    知乎上看到的提问: 两个是互为实例的关系,但不是互为子类的关系,只有type是object的子类,反之则不成立. 大牛说两者是蛋生鸡鸡生蛋的关系,但我还是不明白,有懂的麻烦解释一下, 希望不要给出外文 ...

  3. object的实例是 python_Python:type、object、class与内置类型实例

    Python:type.object.class Python: 一切为对象 >>> a = 1 >>> type(a) >>> type(int ...

  4. python中object是什么类型_Python 的 type 和 object 之间是怎么一种关系?

    class,metaclass,instance,subclass,base 以下成立: 对任意的A,A是instance(推论:任意class也是instance) 对任意A,存在B,使得B是A的c ...

  5. The type 'System.Object' is defined in an assembly that is not referenced

    记录一个错误,报 The type 'System.Object' is defined in an assembly that is not referenced,[System.Runtime] ...

  6. python object和type的关系-Python 的 type 和 object 之间是怎么一种关系?

    class,metaclass,instance,subclass,base 以下成立: 对任意的A,A是instance(推论:任意class也是instance) 对任意A,存在B,使得B是A的c ...

  7. [转载] python中的type和object详解

    参考链接: Python object() 这篇主要描述Python的新风格对象(new-style objects),如下: 和分别是什么? 用户自定义的类和实例之间是怎么联系的?它们和内置类型又是 ...

  8. C# Predefined type 'System.Object' is not defined or imported

    在写C#的时候,有时候会出现 Severity Code Description Project File Line Suppression State Error CS0518 Predefined ...

  9. python object的实例是什么_python中的type和object详解

    这篇博客主要描述Python的新风格对象(new-style objects),如下: 和分别是什么? 用户自定义的类和实例之间是怎么联系的?它们和内置类型又是怎么联系的? 什么是元类(metacla ...

最新文章

  1. 我花了10个小时,写出了这篇K8S架构解析
  2. Java实现最小堆一
  3. 超好用的移动端布局自适应大小rem判断js文件及超过一定高度回到顶部按钮代码...
  4. Redis - 事务操作与详解
  5. 编程练习:Matlab,图片保存
  6. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》...
  7. 多第八田间学校:几何+图论出度+模拟+找到规律
  8. [bzoj4826][Hnoi2017]影魔
  9. 42. Element hasChildNodes() 方法
  10. 五笔输入法 快速入门 二小时基本了解五笔
  11. VS2003版本Jsoncpp的配置和使用
  12. unity中使用C#语言判断斗地主出牌牌型
  13. 30天扣篮训练计划_高强度减脂训练计划,每天练30分钟,坚持一个月,减掉多余的脂肪...
  14. MultiButton | 一个小巧简单易用的事件驱动型按键驱动模块
  15. Excel vba按指定列号内容插入分页符
  16. 五岁的瑞幸:如何越坎重生?
  17. 汇编基础练习题1:将AX中的数显示输出。
  18. Abbkine IPKine GFP标签蛋白免疫沉淀试剂盒(磁珠法)
  19. 建议你放弃——四川大学经验贴
  20. 图、拉普拉斯矩阵与傅里叶变换

热门文章

  1. Kibana——数据图形化制作
  2. CentOS 7.x自定义开机启动设置
  3. IIS环境下如何批量添加、修改、删除绑定的域名
  4. 2013年6月编程语言排行榜,C语言位据第一位
  5. python pygame模块按键延迟_如何在python/pygame中延迟一件事情而不延迟其他事情?...
  6. python日历提醒_Python之时间:calender模块(日历)
  7. JAVA SE学习day_05: IO与流操作
  8. thinkphp 5.0.3 rce getshell_关于ThinkPHP的一些渗透方式
  9. eolinker开源版5_开源土豪沉金版空气质量检测仪AirWolf
  10. Metasploit命令info使用技巧