<p>为了确定类别,我可以这样做:</p>
<pre><code>class A: pass
a = A
type(A) is type #True
</code></pre>
<p>或:</p>
<pre><code>import inspect
inspect.isclass(A)
</code></pre>
<p>但是如何在不知道类名的情况下确定类实例的类型呢?</p>
<p>像这样的:</p>
<pre><code>isinstance(a, a.__class__.__name__)
#TypeError: isinstance() arg 2 must be a type or tuple of types
</code></pre>
<p>我找到了一个解决方案,但它不适用于Python 3x</p>
<pre><code>import types
class A: pass
a = A()
print(type(a) == types.InstanceType)
#AttributeError: 'module' object has no attribute 'InstanceType'
</code></pre>
<p><strong>解决方案:</strong></p>
<pre><code>if '__dict__' in dir(a) and type(a) is not type:
</code></pre>