在Python中,//
是整除运算符,用于对两个数进行向下取整的除法运算,忽略小数部分直接返回整数结果。与普通除法/
不同,//
的特点是无论操作数是整数还是浮点数,结果均为整数(浮点数则保留.0
),且结果总是向负无穷方向舍入。
-
基本用法
a // b
表示将a
除以b
后取最大整数商。例如:7 // 2
返回3
(7÷2=3.5,向下取整为3)-7 // 2
返回-4
(-7÷2=-3.5,向负无穷方向舍入为-4)
-
与浮点数的结合
即使操作数为浮点数,//
仍返回整数部分(保留.0
):5.0 // 2
结果为2.0
9.9 // 3.3
结果为3.0
(实际计算值为3.0,无需舍入)
-
与取模运算符
%
的关系
//
和%
共同满足数学等式:a == b * (a // b) + a % b
。例如:-7 // 2
得-4
,-7 % 2
得1
,验证:2 * (-4) + 1 == -7
。
-
应用场景
- 分页计算:确定总页数时,
总条目数 // 每页数量
直接取整。 - 数据分组:将数据均分到固定数量的组中,避免浮点数干扰。
- 分页计算:确定总页数时,
-
与
math.floor()
的区别
//
的舍入方向始终为负无穷,而math.floor()
仅对正数等价。例如:-3.5 // 1
得-4
,但math.floor(-3.5)
同样返回-4
;- 但对正数,
7.8 // 2
和math.floor(7.8 / 2)
结果相同(均为3.0
和3
)。
Python的//
运算符通过简洁的语法实现高效的整数除法,特别适合需要明确舍入方向的场景。注意其与/
和%
的配合使用,可避免精度问题并简化代码逻辑。