当前位置:  开发笔记 > 编程语言 > 正文

当用于除法时,'/'和'//'之间有什么区别?

如何解决《当用于除法时,'/'和'//'之间有什么区别?》经验,为你挑选了7个好方法。

使用一个比另一个有好处吗?在Python 2中,它们似乎都返回相同的结果:

>>> 6/3
2
>>> 6//3
2

Eli Courtwri.. 591

在Python 3.0,5 / 2将返回2.55 // 2返回2.前者是浮点除法,后者是浮点除法,有时也称为整数除法.

在2.x行的Python 2.2或更高版本中,除非执行a from __future__ import division,否则整数没有区别,这会导致Python 2.x采用3.0的行为

无论将来进口,5.0 // 2都将返回,2.0因为这是操作的分区结果.

您可以在https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator找到详细说明.



1> Eli Courtwri..:

在Python 3.0,5 / 2将返回2.55 // 2返回2.前者是浮点除法,后者是浮点除法,有时也称为整数除法.

在2.x行的Python 2.2或更高版本中,除非执行a from __future__ import division,否则整数没有区别,这会导致Python 2.x采用3.0的行为

无论将来进口,5.0 // 2都将返回,2.0因为这是操作的分区结果.

您可以在https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator找到详细说明.


还有`python -Qnew`.其他分区选项:`-Qold`(默认),`-Qwarn`,`-Qwarnall`
值得指出的是,“ 5.0 / 2”在所有版本中都将返回“ 2.5”,以及“ 5 / 2.0”也是如此-仅当两个操作数均为“ int”时,旧的行为才有所不同。
当数字为负时怎么办?负整数的行为是否相同?

2> Yichun..:

它有助于澄清Python 2.x系列,/既不是底线分区也不是真正的分区.目前接受的答案尚不清楚./当两个args都是int时,它是floor division,但当args中的任何一个或两个都是float时,它是真正的除法.

上面说明了更多的事实,并且比接受的答案中的第2段更清晰.



3> Kena..:

//无论您的类型如何,都实施"地板划分".所以 1.0/2.0会给0.5,但两者1/2,1//2并且1.0//2.0会给0.

有关详细信息,请参阅https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator



4> N Randhawa..:

/ - >浮点除法

// - >分区

让我们看一下python 2.7和Python 3.5中的一些例子.

Python 2.7.10与Python 3.5

print (2/3)  ----> 0                   Python 2.7
print (2/3)  ----> 0.6666666666666666  Python 3.5

Python 2.7.10与Python 3.5

  print (4/2)  ----> 2         Python 2.7
  print (4/2)  ----> 2.0       Python 3.5

现在,如果你想(在python 2.7中)与python 3.5中的输出相同,你可以执行以下操作:

Python 2.7.10

from __future__ import division
print (2/3)  ----> 0.6666666666666666   #Python 2.7
print (4/2)  ----> 2.0                  #Python 2.7

在python 2.7和Python 3.5中,Floor division之间没有区别

138.93//3 ---> 46.0        #Python 2.7
138.93//3 ---> 46.0        #Python 3.5
4//3      ---> 1           #Python 2.7
4//3      ---> 1           #Python 3.5



5> u0b34a0f6ae..:

正如大家已经回答的那样,//是分区.

为什么这很重要的是//,在2.2的所有Python版本中,包括Python 3.x版本,都是明确的分区.

/可以改变的行为取决于:

是否有主动__future__导入(模块本地)

Python命令行选项,-Q old或者-Q new



6> Jonas Sciang..:
>>> print 5.0 / 2
2.5

>>> print 5.0 // 2
2.0



7> 小智..:

**

    Python 2.7和其他即将推出的python版本:

** / Division 用右手操作数ex :: 4/2 = 2除左手操作数

Floor Division(//) - 操作数的除法,其中结果是删除小数点后的数字的商.但是如果其中一个操作数是负数,则结果是浮动的,即从零(向负无穷大)舍入:示例:9 // 2 = 4和9.0 // 2.0 = 4.0,-11 // 3 = -4 ,-11.0 // 3 = -4.0

/ Division和// floor division运营商都以类似的方式运营


趋向无穷大并远离零是不同的事情。(-1.2和3.4)的示例:“覆盖”朝向负无穷大(-2和3),“截断”朝向零(-1和3),“饱和”远离零(-2和4),而“天花板”朝向正无穷大(-1和4)。
推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有