有没有更好的方法来编写这段代码:
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)
请参阅此处的文档。