numpy.any()
がTrue
を返した場合、is True
との比較は失敗しますが、== True
との比較は失敗します。なぜ誰が知っていますか?numpy.any()はTrueを返しますが、 "True"の比較は失敗します。
最小例
from __future__ import print_function
import numpy
a = numpy.array([True])
if a.any() == True:
print('== works')
if a.any() is True:
print('is works')
このコードの出力はわずか== works
あります。
どうしてこの比較に「is」を使用していますか? [このコンテキストでは '=='は意味的に正しい比較です](https://stackoverflow.com/questions/132988/is-there-a-difference-between-and-is-in-python) – CoryKramer
同じ理由で'1 == 1.0'は' True'、 '1は1.0'は' False'です。 1は整数、1.0は浮動小数点です。異なる2つの基本構造を持ちながら、2つのものを同等にすることができます。 –