假设函数some_function(x)
返回一个整数,我目前正在执行以下操作:
def another_function():
# stuff...
result = some_function(x)
if result != 0:
return result
# else: more stuff (unrelated to result)...
我想要的是找到最好的写作方法
if some_function(x) != 0:
return some_function(x)
当然不用调用some_function(x)
两次。你知道吗
有没有更“聪明”的惯用方法在python3中编写它,而不使用result
?你知道吗
另一个选项是定义一个异常,当函数给出0作为结果时引发。如果是这样的话,抓住错误并做些别的事情。你知道吗
我将在这个答案中回应我的评论,并建议你目前所做的是最好的方法。你知道吗
Dimgolds回答说,如果你继续并实现了一个C.M,基本上可以归结为做同样的事情。FLabs方法使用一个异常,如果不是异常的话,它会引入不必要的开销。你知道吗
您所做的是简单、明确和完全可以理解的;在Python中是惯用的。继续这样做。你知道吗
由于在很少的地方对结果进行寻址,因此必须运行两次或将其保存到一个变量中。你知道吗
另一个选项(类似于使用
result
)是使用“with”语句并继续else
部分:此语法以后不会保留结果变量。你知道吗
相关问题 更多 >
编程相关推荐