如果我不发送两个参数,会捕获异常“缺少1个必需的位置参数”?

时间:2018-11-21 23:53:14

标签: python

如果我不发送两个参数,是否有可能捕获异常“缺少1个必需的位置参数”?如果无法更改断言函数,该如何解决。

def sum (n,m):
   return n+m
if __name__ == '__main__':
   assert sum(16,15) == 31, "EXAMPLE"
   assert sum([16,16]) == 32, "result - missing 1 required positional"

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我只是将第二个参数设为可选。在这种情况下,我不必修改我的主要功能。

def sum (n,m=0):
if m!=0:
    return n + m
elif type(n)==list:
    return n[0]+n[1]

if __name__=='__main__':
    assert sum(16, 15) == 31, "EXAMPLE"
    assert sum([16, 16]) == 32, "result - missing 1 required positional"