大多数十进制小数都不能精确地表示为二进制小数,因此输入的十进制浮点数都只能近似地以二进制浮点数形式储存在计算机中。
下例可以看出计算顺序影响了计算结果。
>>> a = 0.1
>>> b = 0.2
>>> c = 0.3
>>> a + b + c
0.6000000000000001
>>> b + c + a
0.6
因此,在使用Set
等无序的数据结构时,要考虑对浮点数计算的影响。在Python 3.7之前,遍历字典key-value对输出顺序是随机的,在Python 3.10中,输出顺序是固定的。