NumPy中的模量(%)和底面划分(//)之间的差异?

时间:2019-06-17 08:20:28

标签: python numpy integer-division

最近,我读了一本有关Numpy的书,其中提到了不同类型的ufunc,在其中我遇到了两种不同的ufunc,即以“ %”符号表示的“模数”和“地板除法” // 。有人可以解释他们之间的区别吗?为什么要提供两个操作员来做同一件事(根据我的说法,它显示划分的提醒)?如果我错了,请纠正。

2 个答案:

答案 0 :(得分:0)

假设a = 10,b = 6

a%b会给你剩下的余数,即4

a // b将为您提供商,即1

答案 1 :(得分:0)

两者都是有效的数学函数,其结果不同。

模量

模数函数计算除法的余数,即整数除法的“剩余”。

地板

下限功能提供整数除法的下限。上限由ceil函数计算。 (基本上,下限功能会舍弃所有小数点。)

a=5
b=2
print(a%b) # Prints 1 as leftover
print(a//b) # Prints 2, since 5/2=2.5 and the decimal is cut off
print(a - (a//b)*b) # Prints 1, this is the modulo, calculated by the floor function