Python - 如果除法有余数,则抛出异常?

时间:2014-04-13 22:01:18

标签: python

在Python中,你可以这样做:

assert a % b == 0
c = a // b

这是否有简写?换句话说,如果存在余数,那么进行整数除法的方法是抛出异常吗?

我问的原因是在这样的情况下会很方便:

count = len(self.rawr.foo) / self.this.is.a.long.variable

现在我必须制作临时变量:

a = len(self.rawr.foo)
b = self.this.is.a.long.variable
assert a % b == 0
count = a // b

这似乎不是非常pythonic。

我知道像C#这样的语言有办法安全划分;奇怪,Python没有。

1 个答案:

答案 0 :(得分:6)

你可以这样做:

count, rem = divmod(len(self.rawr.foo), self.this.is.a.long.variable)
assert not rem # or `assert rem == 0`