誰でもこの現象を説明できますか? print文はNone
を示した理由ですNumpy.array(None)はNoneを返しますが、Noneではありません。
>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'
:
print np.array(None)
> None
print np.array(None) is None
> False
誰でもこの現象を説明できますか? print文はNone
を示した理由ですNumpy.array(None)はNoneを返しますが、Noneではありません。
>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'
:
print np.array(None)
> None
print np.array(None) is None
> False
あなたが実際には配列の文字列表現が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)
それが印刷されているものですので、あなたは、str()
値としてNone
を持つオブジェクトを持っている:
>>> 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'の出力があいまいです。 2つのものが同じものをプリントしているということは、それらが同じオブジェクトであることを意味しているわけではなく、同じオブジェクトでも、同じタイプでも同じであるという意味ではありません。結局のところ、 '' None ''と' 'Print None''は同じものを出力しますが、あなたは' 'None'!= None''ということに驚かないでしょう。 – user2357112
その他の回答に加えて、 'np.array(1)'と 'np.array(2)'は同じ振る舞いをしている – Wondercricket