当前位置:首页 >> 脚本专栏

解析python 中/ 和 % 和 //(地板除)

python / 和 % 和 //(地板除)用于对数据进行除法运算。

python中 // 和 / 和 %

简介

python中与除法相关的三个运算符是// 和 / 和 %,下面逐一介绍。
“/”,这是传统的除法,3/2=1.5
“//”,在python中,这个叫“地板除”,3//2=1
“%”,这个是取模操作,也就是区余数,4%2=0,5%2=1

Python中分为3种除法:1、/,2、%,3、//

1、/

基于 python3

/ 除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数。

两个整数没能整除,返回整数

10 / 3
> 3.3333333333333335

两个浮点数相除,返回浮点数

1.0 / 2.0
> 0.5

两个数的其中一个是浮点数,返回浮点数

3 / 2.0
> 1.5

两个整数恰好整除,返回浮点数

9 / 3
> 3.0

基于python2

python2版本整数除法采用的是 floor 的方式,也称为地板除法。

两个整数相除,返回整数

3 / 2
> 1

两个数的其中一个是浮点数,返回浮点数

3 / 2.0
> 1.5

两个整数恰好相除,返回整数

6 / 2
> 3

2、 %

% 除法的结果是求余数。

两个整数相除,返回整数

5 % 2
> 1

两个整数恰好相除,返回0

6 % 3
> 0

3、 //

// 称为地板除,两个整数的除法仍然是整数,它总是会舍去小数部分,返回数字序列中比真正的商小的,最接近的数字。

简单来说就是求商。

两个整数相除,返回整数

3 // 2
> 1

两个数的区中一个是浮点数,返回浮点数

3 // 2.0
> 1.0

负数除以正整数是负数自己本身

-1 // 2.0
> -1

负数除以负整数是0

-1//-4
> 0

总结

/ 就是大家熟知的除法,只不过python2的时候不同而已;% 是求余数,// 是求商

PS:下面在看下python的地板除和除有什么区别吗? // 和 /

非常小的细节

100/2
Out[3]: 50.0

100//2
Out[4]: 50