【发布时间】:2020-03-15 20:56:22
【问题描述】:
假设我们有一个带有签名的简单 python 函数:
def foo(first, second, third=50)
当我从main 调用它时,我总是有第一个和第二个参数,但我并不总是有第三个。
当我尝试从我使用的字典中获取第三个时:third = dict['value'] if 'value' in dict.keys() else None
问题是,当我传递这个None 时,我希望函数使用其默认的第三个参数并且为50,但它只使用None。我也试过[]。
有没有更优雅的方法,除了调用函数两次,取决于third是否存在,一次有,一次没有,如下?
third = dict['value'] if 'value' in dict.keys() else None
if third:
foo(first, second, third)
else:
foo(first, second)
【问题讨论】:
-
第一个和第二个参数也是这个
dict的元素吗?在这种情况下,请不要隐藏内置名称 -dict。使用描述性变量名称。
标签: python dictionary default-value