python 学习笔记之 算术运算符(除法)分析

不点 阅读:275 2021-03-31 22:39:26 评论:0

Python 2.2版本之前,除法("/")运算符返回结果包含两种情况:整数和浮点数。操作因数的不同是影响返回结果的决定性因数。

以a、b为列,a、b均为整形,则结果返回为整形。如果a、b任意为浮点型,则返回结果为浮点型。

===========================
# python v2.7
>>> 3 / 2, 3.0 / 2, 3.0 / 2.0
(1, 1.5, 1.5)
===========================

在某些场合,我们可能会期待返回的结果类型为浮点型,但参与运算的a、b都为整形,这可能会带来错误,显然有精度上的损失。问题如何解决请参考:python 学习笔记之类型转换


Python2.2以后,引入地板除”(“//”)运算符,从数值上讲,它返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。

===========================
# python v2.7
>>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
(1, 1.5, 1, 1.0)
===========================


Python3.x以后,“/”运算符被重命名为“真除”,不再依据操作数类型选择返回值类型,保证计算结果数值上的精度是第一位的。所以,无须再把操作数转变成浮点型,以保证运算结果不被截断小数部分。“//”运算符,不变。

===========================
# python v3.2
>>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
(1.5, 1.5, 1, 1.0)
===========================








声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号