擅长:python、mysql、java
<p><code>type</code>不是所有类的超类。它是所有类(没有自定义元类)的类型。注意区别:</p>
<pre><code>>>> isinstance(1, int)
True
>>> isinstance(1, type)
False
>>> isinstance(int, type)
True
</code></pre>
<p>数字1不是类型的实例。相反,<code>int</code>类型本身是<code>type</code>的实例。在</p>
<p>编辑:</p>
<p>这些例子可以帮助您:</p>
^{pr2}$
<p>从你的评论来看,你似乎误解了继承的工作原理。作为类型的实例和作为类型的子类(或子类型)是有区别的。如果对象X是类型A的<em>实例</em>,而类型A是类型B的<em>子类</em>,那么X也是B的实例。但是如果类型A是类型B的<em>实例</em>,那么X就不是B的实例。换句话说,子类是可传递的,但实例性不是。在</p>
<p>一个真实世界的类比是类似于“物种”和“智人”。你可以说“物种”是一种类型,“智人”是这种类型的一个实例;换句话说,“智人”是一种特殊的物种。但是“智人”也是一种类型,一个人就是这种类型的一个实例。例如,巴拉克·奥巴马(举一个著名的例子)就是“智人”的一个例子;也就是说,他是一个特殊的智人。但巴拉克奥巴马不是一个物种的例子;他自己也不是一个物种。在</p>
<p><code>type</code>,<code>int</code>和数字1之间的关系是相似的。数字1是<code>int</code>的实例,<code>int</code>是{<cd1>}的实例,但这并不意味着1是类型的实例。在</p>