Я видел подобные вопросы, но не совсем то же самое. У меня есть выражение
if foo == ....
return -1
elif myFunction(bar) != -1:
return myFunction(bar)
elif ...
Я не хочу дважды вычислять myFunction(bar)
. Если бы это был просто if
, я мог бы сделать
temp = myFunction(bar)
if temp != -1
return temp
Однако выполнение этого с помощью elif
приведет к ненужным вычислениям temp
, если мы будем следовать intitial if
.
Я вижу решение с помощью
if ...
else
temp = myFunction(bar)
if temp != -1:
return temp
elif ...
Но теперь это становится более уродливым. Есть ли лучший способ сделать это?