Python的类型系统 - 对象VS类型(Python Type System - Object v

2019-07-04 01:35发布

我是新来的Python。 我很熟悉Java,C / C ++,和OCaml的。 我明白演算以及因为编程语言当然,我把在大学的基本类型理论。

在这样的背景武装,我想读这- http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html

某处,他提到了这一点:

  • (类型“对象”)为(式“类型”)的一个实例
  • (类型“对象”)是没有对象的子类。
  • (类型“类型”)是自己的一个实例。
  • (type'type')为(类型的子类‘对象’)

我不能环绕此我的大脑差:

  • (类型“对象”)为(式“类型”)的一个实例
  • (类型“类型”)为(式“对象”)的子类

什么喊来发生在这里? 我想听到的是非常对究竟这里发生了深度的原因,为什么事情会是这样的。 不浅的原因或类比讨好。

Answer 1:

这是关于对象的具体谈话type 。 对于type ,所有类型的继承<type 'type'>

相信其他声明就指出<type 'type'>是一个object ; 一个例子,我想从寻找进一步下跌:

t = list.__class__ # <type 'type'>
t.__bases__ # (<type 'object'>,)


Answer 2:

由于类型的概念是一样的类,你可以继承正常的面向对象的技术和一流的语法来定制它的类型。

而由于类是真正的类型类的实例,从类型的自定义子类创建类可以实现自定义类型的类。

在新的样式类:

  • 类型是产生用户定义的类的类。
  • 元类的类型类的子类。
  • 类对象是类型,或它们的子类的实例。
  • 实例对象是从一个类生成。


文章来源: Python Type System - Object vs Type