Pythonでは何を等価だとみなすでしょうか。ここで詳しく書いていきます。
==演算子
==演算子はそのオブジェクトの内容が等しいかどうかを比較するためのものです。
floatに対する==演算子
x = 0.1 * 3
print(x == 0.3)
# False
上例は、わりと衝撃的なのですが、浮動小数演算の誤差から==が成り立たちません。そのため、float型に対して==で比較しないというのは(Pythonの悪しき)常識で、次のようにmath.isclose()を用います。
import math
x = 0.1 * 3
print(math.isclose(x, 0.3))
# True
(Visited 27 times, 1 visits today)