我目前正在使用 Python 做一些事情,并且在分配变量时遇到了一些奇怪的行为。例如,我在 ipython 控制台中将“a”设置为 0.1:
In [1]: a = 0.1
然后我打印一个:
In [2]: a
Out[2]: 0.10000000000000001
In [3]: a == 0.1
Out[3]: True
In [4]: a == 0.10000000000000001
Out[4]: True
好吧,也许是因为数字的有限表示(最后一个 1 在第 16 位)。但是之后 :
In [17]: 1 == 0.10000000000000001
Out[17]: False
我必须为此感到害怕吗?因为我是 !;-)