Если у меня есть функция с несколькими условными операторами, где каждая ветка выполняется, возвращается функция. Должен ли я использовать несколько операторов if, или if/elif/else? Например, скажем, у меня есть функция:
def example(x):
if x > 0:
return 'positive'
if x < 0:
return 'negative'
return 'zero'
Лучше ли писать:
def example(x):
if x > 0:
return 'positive'
elif x < 0:
return 'negative'
else:
return 'zero'
Оба имеют одинаковый результат, но являются более эффективными или считаются более идиоматичными, чем другие?
Edit:
Несколько человек сказали, что в первом примере оба оператора if всегда оцениваются, что не похоже на меня.
например, если я запустил код:
l = [1,2,3]
def test(a):
if a > 0:
return a
if a > 2:
l.append(4)
test(5)
l будет по-прежнему равняться [1,2,3]