Python:使用时没有意想不到的结果
问题描述:
我以为我理解none作为一个有用的工具来适应缺少参数的常量。但是,我遇到过这种情况,这并不成立,我不明白为什么。Python:使用时没有意想不到的结果
例如:
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?有人可以帮忙解释吗? `高清boxarea(L,W,H =无):`
答
如果没有参数
def boxarea(l,w,h=None):
# your code
+0
明白了。这一直是这种情况吗?我见过没有初始化为None的旧代码示例。 – trob
+0
我想你可能已经看到它在python2,但我不知道,我只用python3编码。 –
可选参数必须有默认值提供你应该初始化h至无。 – vaultah