gpt4 book ai didi

python - 3/2 和 -3/2 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 20:20:04 26 4
gpt4 key购买 nike

我是编程和 Python 的初学者。我正在做一些简单的数学运算。所以我们知道,Python 解释器中的 3/2 给出 1。但是 -3/2 给出 -2。你能指出这里的区别吗?

最佳答案

在 Python 2 中,/ 执行整数除法。这意味着如果结果不是整数,则向下舍入为下一个整数值。当值为负数时,这自然会舍入到更大的负数。

直观上,整数除法的结果就是mathematical floor float 除法的结果。因此,整数除法通常也称为 floor division。 .

floor(1.5)  # Returns 1.0
floor(-1.5) # Returns -2.0

可以通过将 from __future__ import division 放在模块的顶部来改变 Python 2 中的这种行为。此导入将使 / 运算符仅指示真正的除法(浮点除法),并使用 // 运算符启用显式底除法(整数除法)。这些约定是 Python 3 中的标准。

from __future__ import division

print(3/2) # 1.5
print(3//2) # 1

正如@Dunes 在评论中指出的那样,值得注意的是 - 的优先级高于 /,因此 -3/2相当于 (-3)/2 而不是 -(3/2)。如果首先应用除法,结果确实是 -1

关于python - 3/2 和 -3/2 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com