Python:使用 none 时出现意外结果
Python: unexpected result when using none
我认为我理解 none 常量是适应参数缺失的有用工具。但是,我遇到过这种情况不成立的情况,我不明白为什么。
例如:
def boxarea(l,w,h):
if h is not None:
area = l*w*h
else:
area = l*w
return area
def main():
a = boxarea(2,3)
print(a)
if __name__ == "__main__":
main()
return秒:
TypeError: boxarea() missing 1 required positional argument: 'h'
为什么这不只是 return 6?谁能帮忙解释一下?
如果没有作为参数提供,您应该将 h 初始化为 None
def boxarea(l,w,h=None):
# your code
我认为我理解 none 常量是适应参数缺失的有用工具。但是,我遇到过这种情况不成立的情况,我不明白为什么。
例如:
def boxarea(l,w,h):
if h is not None:
area = l*w*h
else:
area = l*w
return area
def main():
a = boxarea(2,3)
print(a)
if __name__ == "__main__":
main()
return秒:
TypeError: boxarea() missing 1 required positional argument: 'h'
为什么这不只是 return 6?谁能帮忙解释一下?
如果没有作为参数提供,您应该将 h 初始化为 None
def boxarea(l,w,h=None):
# your code