Python中的类与类型
我最近刚开始自学如何编码。 我目前正在阅读Think Python 2 for python 3,当它讲述type()
函数时,它给出了输出<class 'int'>
的示例type(2)
。 然后它说:“类'这个词是用于某个类别的意思;类型是一类值。”
迷惑我的部分是type()
函数输出类而不是类型。 另外,我不确定类型和类之间的区别。 是类型“值”的字符串,浮点数和整数类,还是它们是同一个东西?
我已经看过这个,但找不到我的具体问题的答案或足够简单,让我明白。
曾几何时,Python拥有类型和类别。 类型是C中定义的内置对象; 类是您在使用class
声明时构建的。 两人的名字不同,因为你不能混用这些; 类不能扩展类型。
这种差异是人为的,这是语言实施中的限制。 从Python 2.2开始,Python的开发人员慢慢地将这两个概念统一起来,除了Python 3以外,所有这些差异都已消失。内置类型现在也被标记为类,您可以随意扩展它们。
您的书正试图解释Python中不存在的差异。 即使在Python 2中,区别也仅限于名称,因为type(2)
显示仍在此处使用单词“type”:
>>> type(2)
<type 'int'>
但你可以像其他任何类一样继承int
。
(Python 2仍然有旧式的类,那些没有从object
继承的类;这些是统一之前的旧系统的剩余部分。)
python层次结构是Type(Metaclass) - > Class - > Instance。 把函数type()
看成是上一层。
如果你在一个int
(任何整数)的实例上使用函数type()
,如下所示: type(123)
你会收到实例的类,在本例中为int
。 如果要在类int
使用type()
,则将接收作为int的元type type
。
请记住,metaclasses是python的高级技术细节,您不需要首先了解它们。
链接地址: http://www.djcxy.com/p/53151.html