所以最近我一直在问一些关于 Python 中更专业和 Python 风格的问题,尽管我的问题得到了很好的答案,但我觉得我需要问一个更广泛的问题。
一般而言,当编写实用程序函数(用于库等)处理副作用(文件写入、字典定义等)而不是返回值时,返回状态码以告诉调用函数它是非常有用的通过或失败。
在 Python 中,似乎有三种方法可以标记这一点:
使用 -1 或 0(类似 C)的返回值并使用诸如
if my_function(args) < 0:
fail condition
pass condition
或使用 True/False 的返回值
if not my_function(args):
fail condition
pass condition
或使用异常使用'return or 'return None'(在未知错误时退出)
try:
my_function(args)
except ExpectedOrKnownExceptionOrError:
fail condition
pass condition
这些中哪个最好?最正确?首选?我了解所有工作,并且其中一个没有太多技术优势(除了异常处理的开销)。