【发布时间】:2012-10-11 15:58:22
【问题描述】:
我知道如果数字都是正数,整数除法将始终返回与截断浮点结果相同的答案。如果其中一个或两个都是负数,是真的吗?
我只是想知道是否有一个整数除法表达式会在 Python 2 和 Python 3 中返回相同的结果(是的,我知道 from __future__ import division)。
附:让我们暂时忽略浮点溢出。
【问题讨论】:
-
" 在 Python 2 和 Python 3 中返回相同结果的整数除法表达式"再来一次?
-
@NullUserException,在 Python 3 中,如果您使用
/将两个整数相除,您将得到浮点结果。这是与 Python 2 相比的巨大变化。//现在是获取旧行为所必需的。 -
我仍然不明白为什么他们会自动向上转换为浮动 .... 对我来说似乎很愚蠢... 我的意思是
int/int = int是 CS 的核心宗旨... -
@JoranBeasley 基本原理:docs.python.org/release/2.2.3/whatsnew/node7.html
-
@JoranBeasley:您真的认为在鸭子类型的语言中,您不应该仅仅因为 C 是静态类型而将数字视为数字并假设
/进行实际除法吗?整数除法几乎不是“CS 的核心原则”。
标签: python python-3.x integer-division