我在一个循环中进行了一次分割操作,重复多次。碰巧在前几次通过循环(或多或少的前10个循环)中,除数为零。一旦获得值,就不再可能出现div by zero错误。
我有一个if
条件来测试除数值以避免div为零,但我想知道评估此if
会对每次运行产生性能影响随后的循环,特别是因为我知道它已经没用了。
如何编码?在Python?
答案 0 :(得分:9)
别担心。 if (a != 0)
很便宜。
另一种选择(如果你真的想要一个)可以将循环分成两个,并在除数得到它的值后退出第一个循环。但这听起来会使代码变得不必要地复杂(难以阅读)。
答案 1 :(得分:6)
我会将你的调用包装在try / except块中。它们在python中非常便宜,并且如果没有抛出异常,则成本与pass语句一样多。 Python的设计使您可以进行调用并解析任何错误,而不是总是要求权限。
示例代码:
def print_divide(x,y):
try:
print x/y
except ZeroDivisionError:
pass
答案 2 :(得分:1)
我和Thilo在一起:我觉得应该很便宜。
如果您真的在意,您应该对代码进行计时并找出轻微的开销是否是不可接受的。我怀疑不是。