python - 在 Python 中有 '//' 的原因是什么?

标签 python division

我在某人的代码中看到了这一点:

y = img_index // num_images

其中 img_index 是运行索引,num_images 是 3。

当我在 IPython 中弄乱 // 时,它似乎就像一个除号(即一个正斜杠)。我只是想知道是否有任何理由使用双正斜杠?

最佳答案

在 Python 3 中,他们使 / 运算符进行浮点除法,并添加了 // 运算符进行整数除法(即无余数的商) ;而在 Python 2 中,/ 运算符只是整数除法,除非其中一个操作数已经是 float 。

在 Python 2.X 中:

>>> 10/3
3
>>> # To get a floating point number from integer division:
>>> 10.0/3
3.3333333333333335
>>> float(10)/3
3.3333333333333335

在 Python 3 中:

>>> 10/3
3.3333333333333335
>>> 10//3
3

如需进一步引用,请参阅 PEP238 .

关于python - 在 Python 中有 '//' 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1535596/

相关文章:

sql - 分区 (/) 没有在 postgresql 中给出我的答案

python - 对字符串查找感到困惑?

python - 识别数据框中重叠时间跨度的数量

c++ - 不为 0 则除

python - 带有传统除号 (÷) 的 eval() 问题

PHP '//' 的含义

python - 在 numpy 中索引 3d 网格数据的球形子集

python - centos服务器anaconda重新安装和设置

python - 引用 setup.cfg 和 setup.py 中现有的 distutils 选项

c - C中的二进制除法