从前,Python同时具有 类型 和 类 。类型是用C定义的内置对象。类是您在使用class
语句时构建的。两者的名称不同,因为您无法将它们混合使用。类不能扩展类型。
这种差异是人为的,这是语言实现的限制。从Python 2.2开始,Python的开发人员已逐渐朝着统一这两个概念的方向发展,而差异仅在Python 3中消失了。内置类型现在也被标记为类,您可以随意扩展它们。
您的书试图解释Python中不再存在的差异。即使在Python 2中,差异也只存在名称上,因为type(2)
显示在那里仍然使用单词“ type”:
>>> type(2)
<type 'int'>
但是您可以int
像其他任何类一样子类化。
(Python 2仍然具有旧式类,这些类不继承自旧类object
;它们是统一之前的旧系统的残余。)