关于python:在满足条件后避免使用IF语句

Avoid IF statement after condition has been met

我在一个循环内有一个多次重复的除法运算。在前几个循环中(或多或少是前10个循环),除数是零。一旦它获得了值,就不可能再出现逐零错误。

我有一个if条件来测试除数值,以避免除数为零,但我想知道,评估这个if会对后续循环中的每次运行产生性能影响,特别是因为我知道它不再有用。

如何对其进行编码?用Python?


别担心。if (a != 0)很便宜。

另一种方法(如果您真的想要一个)是将循环拆分为两个,并在除数得到值后退出第一个循环。但这听起来会使代码变得不必要的复杂(难以阅读)。


我会用try/except块来结束您的呼叫。在Python中,它们非常便宜,如果不抛出异常,则成本与pass语句差不多。python的设计是为了让您能够调用和分析任何错误,而不是总是请求权限。

示例代码:

1
2
3
4
5
def print_divide(x,y):
    try:
        print x/y
    except ZeroDivisionError:
        pass


我和蒂洛在一起:我觉得应该很便宜。

如果你真的很在意,你应该给代码计时,看看这个小小的开销是否是不可接受的。我怀疑不是。