除了 Python 中的 ValueError



有没有更好的方法来编写这段代码:

def add (exe1, exe2):
try:
a = float (exe1)
b = float (exe2)
total = float (a + b)
except ValueError:
return None
else:
return total

您可以将所有内容都放在一个try/except块中(计算和return(:

def add(exe1, exe2):
try:
return float(exe1) + float(exe2)
except ValueError:
return None

另请注意,函数的默认返回值是None,因此第二个return并不是真正必需的(你可以改用pass(,但它使代码更具可读性。

你也可以使用contextlib.suppress,如果你觉得它更具可读性。

from contextlib import suppress
def add(exe1, exe2):
with suppress(ValueError):
return float(exe1) + float(exe2)

请参阅此处的文档。

相关内容

最新更新