Python中数字类型“/”和“//”的区别

数字类型“/”

对于“/”,不难理解,就相当于数学中的除法运算例如:

print(6/5)
print(-6/5)

其输出的结果为:

1.2

-1.2

数字类型“//” 

那么我们重点要讲解的是“//”,对于“//”我们课表示为一种特殊的除法在这里我们可以称之为“地板除”,那么什么是地板除呢?

大家先看下面这段代码:

print(6/5)
print(6//5)
print(4//5)

其输出结果为:

1.2

1

0

看到这里,大家也许会认为这不就是取余嘛,其实并不然, 我们可以接着来试试负数:

print(-6/5)
print(-6%5)
print(-6//5)

输出的结果为

-1.2

4

-2

到这里我们会发现, 

当输出“-6//5“的时候其结果为-2,而并非取余,因此,我们可以这样说”//“表示的是向下取整,取比目标结果小的最大整数,而“-6地板除5”的值应为-2。

拓展:

python中内置函数divmod(x,y)

内置函数divmod()的作用就算同时计算两数地板除的结果和取余后的结果,就是返回结果为(x//y,x%y)

例如:

print(divmod(6,5))
print(divmod(-6,5))

结果为: 

(1,1)

(-2,4)

你可能感兴趣的:(python,开发语言)