Python 2中整数除法默认截断小数,需用浮点数或导入__future__.division实现精确除法。

在 Python 2 中进行除法时,需要注意整数除法和浮点除法的区别。默认情况下,Python 2 对两个整数执行的是“地板除法”(向下取整),这可能不符合数学上的预期结果。
1. 整数除法的默认行为
当你用斜杠 / 对两个整数相除时,Python 2 会返回一个整数结果(向下取整):
>>> 5 / 22
即使你希望得到 2.5,它也会返回 2,因为这是整数除法的默认行为。
2. 使用浮点数获得精确结果
要得到小数结果,至少让其中一个操作数是浮点数:
BIWEB 门户版几经周折,最终与大家见面了。BIWEB门户版建立在ArthurXF5.8.3底层上,有了更加强大的功能。 BIWEB WMS v5.8.3 (2010.1.29) 更新功能如下: 1.修正了底层getInfo方法中的调用参数,做到可以根据字段进行调用。 2.修正了栏目安装和卸载后,跳转链接的错误。 3.修正所有栏目分类系统,提交信息页面错误。 4.新增后台删除信息后仍停留原分
立即学习“Python免费学习笔记(深入)”;
>>> 5.0 / 22.5
>>> 5 / 2.0
2.5
>>> float(5) / 2
2.5
3. 导入真正的除法行为
你可以在文件开头导入 __future__ 模块中的 division,这样 / 就会始终表示浮点除法,而 // 表示地板除法:
from __future__ import division>>> 5 / 2
2.5
>>> 5 // 2
2
这个方法可以让 Python 2 的除法行为更接近 Python 3,推荐在新项目中使用。
基本上就这些。关键是意识到 Python 2 默认整数除法会截断小数部分,要么显式使用浮点数,要么导入真正的除法来避免意外。










