Python3 除法运算符与小数处理详解
本文详细解析 Python3 中的两种除法运算符:/(真除法)与 //(地板除法),说明其对不同数据类型返回结果的影响。同时介绍 floor、trunc 和 round 三种小数处理方式的差异与适用场景,并对比 Python2 与 Python3 在除法行为上的关键变化,帮助开发者准确掌握数值计算细节。
运行环境为 Python3.6.1。
一、Python3 中的除法运算
在 Python3 的算术表达式中,除法操作提供两种不同的运算符:/ 和 //。这两种运算符在处理不同类型的数据时会产生不同的结果,下文将逐一详细说明。
1、/ 操作符(真除法)
在 Python3 中,使用 / 操作符进行除法运算时,始终执行真除法(True Division)。无论参与运算的操作数是整数还是浮点数,最终结果都会保留小数部分,返回一个浮点型数值。
print(4/2) # 2.0
print(4/2.0) # 2.0
print(5/2) # 2.5
2、// 操作符(地板除法)
在 Python3 中,// 操作符始终执行地板除法(Floor Division)。其结果取决于操作数的类型:如果参与运算的操作数中包含浮点数,则结果保留小数部分;若全部为整数,则结果为整数。
print(4//2.0) # 2.0
print(4//2) # 2
print(5//2) # 2
二、小数的不同显示方式
Python 提供了多种处理小数显示的方式,主要包括 floor、trunc 和 round。
floor:将小数向下截断至其下方的最大整数,即返回小于或等于该小数的最大整数值。该方法对负数同样有效,例如 -2.5 会截断为 -3。
import math
print(math.floor(2.5)) # 2
print(math.floor(-2.5)) # -3
trunc:执行真正的截断操作,直接去除小数部分。当处理正数时,其效果与 floor 相同;但在处理负数时,trunc 会向零方向截断,与 floor 的行为不同。
import math
print(math.trunc(2.5)) # 2
print(math.trunc(-2.5)) # -2
round:对小数进行格式化舍入,类似于小学数学中的四舍五入。round 是 Python 的内置函数,无需额外导入模块即可直接使用。
print(round(2.567)) # 3
print(round(2.467)) # 2
print(round(2.567, 2)) # 2.57
补充:Python2 与 Python3 的除法差异
python2:5/3=1 【向下取整-除】
python3:5/3=1.6666666666666667【精确—除】
python2:5//3=1 【向下取整-除】
python3:5//3=1 【向下取整-除】
以上为个人经验分享,希望能为大家提供参考。如有错误或未考虑周全之处,欢迎指正。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









