У меня есть операция деления в цикле, который много раз повторяется. Это так происходит, который в нескольких первых проходит через цикл (более или менее сначала 10 циклов), делитель является нулем. После того как это получает значение, отделение нулевой ошибкой не длиннее возможный.
Я имею if
условие протестировать значение делителя для ухода от отделения нулем, но я задаюсь вопросом, что существует влияние производительности та оценка этого if
будет иметь для каждого выполнения в последующих циклах, тем более, что я знаю, что это больше бесполезно.
Как это должно быть кодировано? в Python?
Я бы обернул ваш вызов в блоки try/except. Они очень дешевы в python, и стоят примерно столько же, сколько оператор pass, если исключение не будет выброшено. Python устроен так, что вы должны делать свои вызовы и разбирать любые ошибки вместо того, чтобы постоянно спрашивать разрешения.
Пример кода:
def print_divide(x,y):
try:
print x/y
except ZeroDivisionError:
pass
Я с Тило: я думаю, это должно быть довольно дешево.
Если вам действительно интересно, вам следует рассчитать код и выяснить, недопустимы ли небольшие накладные расходы. Я подозреваю, что нет.
Не волнуйтесь. if (a! = 0)
дешево.
Альтернативой (если она действительно нужна) может быть разделение цикла на два и выход из первого, как только делитель получит свое значение. Но похоже, что это сделает код излишне сложным (трудным для чтения).