python运算符//与%的理解

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

    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
    

你可能感兴趣的:(Python)