任何人都可以解釋這種行爲嗎?Numpy.array(None)返回None但不是None
print np.array(None)
> None
print np.array(None) is None
> False
任何人都可以解釋這種行爲嗎?Numpy.array(None)返回None但不是None
print np.array(None)
> None
print np.array(None) is None
> False
你確實有其字符串表示是沒有一個數組對象,而不是你想的None
對象:
>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'
也正因爲此,打印報表顯示None
。
但是,你實際上做的是:
np.array(None) is None # False
np.array(None)
不None
。 print
只是將其打印爲None
。
In [1]: a = np.array(None)
In [2]: a
Out[2]: array(None, dtype=object)
您必須具有None
爲str()
值的對象,所以這是打印的內容:
>>> import numpy as np
>>> np.array(None)
array(None, dtype=object)
>>> str(np.array(None))
'None'
這是用字母N
,o
,n
和e
一個字符串值。這與None
單身物件不同,它只是看起來與打印時相同。
請解釋你想要做什麼。你所做的是詢問np.array(None)是否爲None類型,它不是,因此返回False。
'print'輸出不明確。事實上,兩件事情打印相同並不意味着它們是相同的對象,或者甚至它們是平等的或者它們具有相同的類型。畢竟,'打印'無'和'打印無'打印同樣的東西,但希望你不會感到驚訝的是,'無'!=無'。 – user2357112
除了所有其他的答案,值得注意的是'np.array(1)'和'np.array(2)'具有相同的行爲 – Wondercricket