我认为我理解无常作为适应缺少参数的有用工具。但是,我遇到过这种情况不成立的情况,我不明白为什么。
例如:
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()
返回:
TypeError: boxarea() missing 1 required positional argument: 'h'
为什么这只是返回6?有人可以帮忙解释一下吗?
答案 0 :(得分:3)
如果未将h初始化为参数
,则应将h初始化为Nonedef boxarea(l,w,h=None):
# your code