任何人都可以解释这种行为吗?
print np.array(None)
> None
print np.array(None) is None
> False
答案 0 :(得分:1)
您有一个None
作为str()
值的对象,以便打印出来的内容:
>>> import numpy as np
>>> np.array(None)
array(None, dtype=object)
>>> str(np.array(None))
'None'
这是一个包含字母N
,o
,n
和e
的字符串值。这与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)
不是None
。 print
只需将其打印为None
。
In [1]: a = np.array(None)
In [2]: a
Out[2]: array(None, dtype=object)
答案 3 :(得分:0)
请解释一下你的目标是什么。你所做的是询问np.array(None)是否为None类型,它不是,因此返回False。