Python中的ValueError除外

2024-10-08 22:29:28 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有更好的方法来编写此代码:

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

Tags: 方法代码noneaddreturndeffloatelse
2条回答

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

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

请参阅文档here。在

您可以在try/except块(计算和return)中获得所有这些内容:

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

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

相关问题 更多 >

    热门问题