我见过与此类似但不完全相同的问题。我有一个表情
if foo == ....
return -1
elif myFunction(bar) != -1:
return myFunction(bar)
elif ...
我不想计算myFunction(bar)
两次。如果它只是一个if
,我可以做
temp = myFunction(bar)
if temp != -1
return temp
但是,使用 anelif
会导致不必要的计算,temp
如果我们要遵循 intitial if
。
我可以看到一个解决方案
if ...
else
temp = myFunction(bar)
if temp != -1:
return temp
elif ...
但现在开始变得更加丑陋。有没有更好的方法来实现这一点?