Python 3中的除法运算和取余运算
除法运算
Python 3中的除法运算符有两种:/和//。使用时须搞清楚其中的区别。
- /,"true" division,a/b 返回的是a除以b按浮点数运算得到的浮点数结果,即使a和b都是整数也是如此。注意:这一点和Python 2中是不同的。Python 2中,当a或b是浮点数时,a/b返回的是按浮点数运算得到的浮点数结果(与Python 3相同);但当a和b都是整数时,a/b返回的是整数,具体说来就是a除以b按浮点数运算得到浮点数结果后,再将结果向负无穷取整(也有说向下取整、向左取整、向小取整等)得到的整数(与Python 3不同)。下面给出的是Python 3中“/"运算的例子:

- //,floor division,a/b 返回的是a除以b按浮点数运算得到浮点数结果后,再将结果向负无穷取整(也有说向下取整、向左取整、向小取整等,这也是这种除法被称为“地板除”的原因)得到的整数(当a和b都是整数时)或浮点数(当a或b是浮点数时)。此运算在Python 2中和Python 3中得到的结果是一样的,举例如下:

取余运算
Python 3中的取余(或取模)运算符为%。a%b表示a除以b得到的余数,余数符号与除数b相同。如果a或b为浮点数,那么结果也为浮点数。举例如下:

//运算与%运算的关系
Python 3中的地板除//运算和取余%运算之间满足商*除数+余数=被除数的关系:
若
m=a//b
n=a%b
则n与b同号,且
m*b+n=a
冀公网安备 13010402001886号