Python支持三种除法相关运算符:
/ 真正的除
// 整数除法
% 模运算符
除数和被除数均为正数
Python中,/
运算符表示真正的除,运算返回一个浮点型的计算结果。因此27/4
得到一个浮点型的值6.75
。
Python支持//
和%
进行整数运算,,表达式27//4
运算的值是整型的6
,表达式27%4
运算的值是整型的3
,即整数除法的余数。
>>> 27 / 4
6.75
>>> 27 // 4
6
>>> 27 % 4
3
注意,在C、C++和Java中不支持
//
运算符。
除数和被除数至少存在一个负数
特别的,在被除数和除数存在负数的情况下,python谨慎地扩展了//
和%
的语义。设和
分别代表商式
的被除数和除数,
和
。Python严格保证
。
- 当被除数为负数,除数为正数,即
时,余数
为正数。例如在
中,由于
,所以
,
。
>>> -27 / 4
-6.75
>>> -27 // 4
-7
>>> -27 % 4
1
- 当被除数为正数,除数为负数,即
时,余数
为负数。例如在
中,由于
,所以
,
。
>>> 27/-4
-6.75
>>> 27//-4
-7
>>> 27%-4
-1
- 当被除数为负数,除数为负数,即
时,余数
依旧为负数。例如在
中,由于
,所以
,
。
>>> -27 / -4
6.75
>>> -27 // -4
6
>>> -27 % -4
-3
总结
python中存在三种除法相关运算符/
、//
和%
,分别表示真正的除、对商求整和取余。当运算式存在负数时,对于,Python严格保证
,其中
与
符号相同,即两者同为正数或同为负数。该规则可以扩展到浮点型操作数。