python支持的算数运算符
运算符 | 操作 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 真正的除 |
// | 整数除法 |
% | 模运算符 |
- 除了整除以外,当操作数中有浮点类型时,结果也是浮点类型
- 当两个操作数都是整型时,
/
运算符返回不大于商的最大整数;当至少有一个操作数是浮点类型时,其结果是真正除法的结果 - python扩展了运算符
//
和%
,//
是别的语言不存在,python独有的运算符
运算符//
详解
假设变量n和m分别代表商式n÷m
的被除数和除数,python中为q=n//m
。
n和m都为正数的情况
-
当n和m都为正数时,q为不大于数学运算商的最大正数,例:
>>> 27//4 6 >>> 27.6//4 6.0
当其中一个运算符为负数时
-
当其中一个运算符为负数时,结果为不大于数学运算商的最大负数,例:
>>> -27//4 -7 >>> -27.6//4 -7.0
运算符%
详解
假设变量n和m分别代表数学运算商式n÷m
的被除数和除数,python中q=n//m
, r=n%m
。
python中保证q * m + r
等于n
,所以在使用运算符%
时,python其实先使用运算符//
计算了q
的值,然后在r=n-q*m
来计算r的值。
n和m都为正数的情况
-
当都为正数时,其结果也为正数,且python保证0<=r<m,例:
27 // 4
等于6,则27%4
的结果为27-4*6
等于3>>> 27//4 6 >>> 27%4 3 >>> 27.6//4 6.0 >>> 27.6%4 3.6000000000000014
当其中一个为负数时
-
当其中有一个为负数时,同样遵循上边的运算方法,但是结果为负数,例:
27//-4
等于-7,则27%-4
的结果为27-(-4)*(-7)
等于1>>> 27//-4 -7 >>> 27%-4 -1 >>> 27.6//-4 -7.0 >>> 27.6%-4 -0.3999999999999986