python - 为什么整数除法产生一个 float 而不是另一个整数?

标签 python integer python-3.x division

考虑一下 Python 中的这种划分:

Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 2/2
1.0

这是故意的吗?我强烈记得返回 int/int = int 的早期版本。我应该怎么办?是否有新的除法运算符或者我必须始终转换?


在 2.x 中,这种行为确实是相反的;见 How can I force division to be floating point? Division keeps rounding down to 0?对于相反的,特定于 2.x 的问题。

最佳答案

看看PEP-238 : 更改除法运算符

The // operator will be available to request floor division unambiguously.

关于python - 为什么整数除法产生一个 float 而不是另一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282945/

相关文章:

python - 如何将嵌套字典的所有值转换为字符串?

python - 如何在 Python 中将文件转换为 utf-8?

python - 子进程运行 Bokeh 服务器时是否可以访问提供给它的参数?

python - sympy 类型错误 : can't convert expression to float

python - 添加到 Python 路径目录

python-3.x - 使用 venv - VS Code 调试没有看到所有 pip 安装的包

python - 循环遍历 JSON 文件的文件夹以从 Python 中的每个文件中提取相同的关键字

java - 如何判断整数数组是否是交替数组?

带有 np.intc 的 Python 范围

Java Integer auto自动装箱