Python-isinstance返回false

Python-isinstance返回false,python,python-2.7,isinstance,Python,Python 2.7,Isinstance,我对isinstance()有问题 我正在使用Python2.7.8,并从shell运行脚本 我测试的数组元素包含一个数字,但此函数返回false;使用: 也试过这个,从 在同一个帖子里,我试过 isinstance(array[x][i], (int, float, long, complex)) 我也试过了,没用 全部返回false。您没有数字;您很可能有一个字符串,其中包含数字'1': 这不是一个数字;它是一个字符串。请注意,打印该字符串与打印整数是无法区分的 改为使用打印Python表

我对
isinstance()
有问题

我正在使用Python2.7.8,并从shell运行脚本

我测试的
数组
元素包含一个数字,但此函数返回false;使用:

也试过这个,从

在同一个帖子里,我试过

isinstance(array[x][i], (int, float, long, complex))
我也试过了,没用


全部返回false。

您没有数字;您很可能有一个字符串,其中包含数字
'1'

这不是一个数字;它是一个字符串。请注意,打印该字符串与打印整数是无法区分的

改为使用打印Python表示,和/或使用生成给定值的类型对象:

>>> print repr(value)
'1'
>>> print type(value)
<type 'str'>

print repr(array[x][i])、type(array[x][i])
产生了什么?type(array[x][i])的输出是什么?例如,您可以有一个字符串;如果
array[x][i]
存储
'1'
,则
print
将生成完全相同的输出。感谢您将其置于上下文中。它看起来只是一个整数。
isinstance(array[x][i], (int, float, long, complex))
>>> value = '1'
>>> print value
1
>>> print 1
1
>>> print repr(value)
'1'
>>> print type(value)
<type 'str'>
>>> from numbers import Number
>>> isinstance(value, Number)
False
>>> isinstance(1, Number)
True