我有一个非常简单的Python函数,如下所示:
def test(var=None):
if not var:
raise ValueError("Something is wrong")
else:
var = var + 10
return var
values = [1, 2, 3, 4, 0]
check = list(map(test, values))
print(check)
因此,基本上Python中的var变量接受一个整数值,我必须提供一个默认参数。
运行此命令时,我收到以下错误消息:
Traceback (most recent call last):
File "First.py", line 10, in <module>
check = list(map(test, values))
File "First.py", line 3, in test
raise ValueError("Something is wrong")
ValueError: Something is wrong
我认为这是因为我最后传递了0。
有人可以告诉我这个问题的解决方案吗?如何为该函数提供默认值,并同时将0传递给该函数。
非常感谢。
答案 0 :(得分:2)
对于您而言,只需将此var
定位,而不是可选:
def test(var):
return var + 10
通常情况下,使用None
与is
进行比较,如下所示:
def test(var=None):
if var is None:
# handle this