一言以蔽之。
3.65不能完全表示为
float。您得到的数字是最接近的数字
3.65,具有精确的
float表示形式。
(较旧?)Python 2和3之间的差异纯粹是由于默认格式。
我在Python 2.7.3和3.3.0中都看到以下内容:
In [1]: 3.65Out[1]: 3.65In [2]: '%.20f' % 3.65Out[2]: '3.64999999999999991118'
有关确切的十进制数据类型,请参见
decimal.Decimal。

一言以蔽之。
3.65不能完全表示为
float。您得到的数字是最接近的数字
3.65,具有精确的
float表示形式。
(较旧?)Python 2和3之间的差异纯粹是由于默认格式。
我在Python 2.7.3和3.3.0中都看到以下内容:
In [1]: 3.65Out[1]: 3.65In [2]: '%.20f' % 3.65Out[2]: '3.64999999999999991118'
有关确切的十进制数据类型,请参见
decimal.Decimal。