本文通过实例代码介绍了Python除法的传统除法、楼层除法和真除法。有需要的朋友可以参考一下。
先给大家介绍下Python除法之传统除法、Floor除法及真除法
python3.0
/始终执行真除法,无论操作数类型如何都返回浮点结果(即使能整除,比如4/2==2.0);
//进行地板除法,将余数截断,直接返回整数。如果任何操作数是浮点数,则返回浮点数(如4//2==2,3//2==1.5,4.0//2==2.0)
简而言之:在python3.0中,/是真除法,不会被截断,结果是一个无论是否可除的浮点数;//对于地板除法,除法的结果会四舍五入返回。返回的结果是否是浮点数取决于操作数中是否有浮点数。如果两个操作数都是整数,则直接返回一个四舍五入的整数;如果操作数中有浮点数,则返回的结果是浮点数。
python2.0
/表示传统除法,如果两个操作数都是整数,则进行截断除法,否则进行浮点除法,//进行地板除法,同3.0。
注意
在3.0中,无论操作数类型如何,/的结果总是返回浮点数,而//的结果总是取决于操作数类型。如果其中一个是浮点数,结果就是浮点数。
ps:下面看下Python3除法之真除法、截断除法和下取整对比
概述
在Python3中,数学运算中有两种除法,即“真除法”,即任何类型的除法结果都会保留小数点,这与我们实际的数学运算结果一致,而“截除除法”是指结果的小数部分会被省略,留下能被整除的最小整数部分。以下是两种基本的除法形式:
#真正的分裂
X/Y
#截断除法
X //Y
真除法
X=8
Y=2
Z=3
打印(X/Y)
打印(X/Z)
示例结果:
4.0
2.6666666666666665
真除法的结果表明,无论操作数的类型如何,除法结果都返回浮点结果。
截断除法
X=8
Y=2
Z=3
S=-8
打印(X //Y)
打印(X //Z)
打印(是)
打印(黑白)
示例结果:
四
2
-4
-3
从例子中我们可以看到,截断除法并不是真的直接去掉小数点后的数字,而是类似于模块数学中的底数法,即向下取整,负值也是用同样的方法取整。
导入数学
数学地板(2.0)
math.floor(2.6666666666666665)
数学楼层(-2.0)
math.floor(-2.6666666666666665)
示例结果:
2
2
-2
-3
同模数学中的Ceil方法可以实现浮点数的上舍入。
导入数学
打印(math.ceil(2.0))
print(math . ceil(2.6666666666666665))
print(math.ceil(-2.0))
print(math . ceil(-2.666666666666666))
2
三
-2
-2
总结
以上是边肖介绍的Python分部的传统分部、楼层分部、真分部。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。