有人能解释这种行为吗?
print np.array(None)
> None
print np.array(None) is None
> False发布于 2017-07-29 03:43:22
您有一个对象,它的str()值为None,因此这是打印的内容:
>>> import numpy as np
>>> np.array(None)
array(None, dtype=object)
>>> str(np.array(None))
'None'这是一个包含字母N、o、n和e的字符串值。这与None单例对象不是一回事,只是在打印时看起来和是一样的。
发布于 2017-07-29 03:43:05
实际上,您有一个字符串表示为None的数组对象,而不是您认为的None对象:
>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'这就是打印语句显示None的原因。
但是,您实际要做的是:
np.array(None) is None # False发布于 2017-07-29 03:43:13
np.array(None)不是None。print只是将其打印为None。
In [1]: a = np.array(None)
In [2]: a
Out[2]: array(None, dtype=object)https://stackoverflow.com/questions/45381199
复制相似问题