擅长:python、mysql、java
<p>我建议将类型的元组传递给python<code>isinstance()</code>内置函数。关于您关于<code>np.issubtype()</code>的问题,它与任何类型的有符号int都不匹配,它确定一个类是否是第二个类的子类。而且由于所有整数类型(int8、int32等)都是<code>int</code>的子类,因此如果将这些类型中的任何一个与<code>int</code>一起传递,则返回True。</p>
<p>下面是一个例子:</p>
<pre><code>>>> a = np.array([100])
>>>
>>> np.issubdtype(type(a[0]), int)
True
>>> isinstance(a[0], (int, np.uint))
True
>>> b = np.array([100], dtype=uint64)
>>>
>>> isinstance(b[0], (int, np.uint))
True
</code></pre>
<p>另外,作为一种更通用的方法(当您只想匹配某些特定类型时不合适),您可以使用<code>np.isreal()</code>:</p>
<pre><code>>>> np.isreal(a[0])
True
>>> np.isreal(b[0])
True
>>> np.isreal(2.4) # This might not be the result you want
True
>>> np.isreal(2.4j)
False
</code></pre>