Numpy.array(None)返回None但不是None

时间:2017-07-28 19:39:04

标签: python numpy nonetype

任何人都可以解释这种行为吗?

print np.array(None)
> None
print np.array(None) is None
> False

4 个答案:

答案 0 :(得分:1)

您有一个None作为str()值的对象,以便打印出来的内容:

>>> import numpy as np
>>> np.array(None)
array(None, dtype=object)
>>> str(np.array(None))
'None'

这是一个包含字母None的字符串值。这与None单件对象不同,打印时看起来相同。

答案 1 :(得分:0)

你实际上有一个数组对象,其字符串表示为None,而不是你想象的None对象:

>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'

这就是打印报表显示None的原因。

但是,你实际做的是:

np.array(None) is None # False

答案 2 :(得分:0)

np.array(None)不是Noneprint只需将其打印为None

In [1]: a = np.array(None)

In [2]: a
Out[2]: array(None, dtype=object)

答案 3 :(得分:0)

请解释一下你的目标是什么。你所做的是询问np.array(None)是否为None类型,它不是,因此返回False。