使用关键字参数,您无法在dict中引用潜在的关键字值,因为它们可能不存在。引用可能存在或不存在的关键字值的最佳方式是什么?我发现自己在做这样的事情:
def save_link(link, user, **kwargs):
if "auto" in kwargs:
auto = kwargs["auto"]
else:
auto = False
以提供默认值并创建可靠存在的变量。还有更好的方法吗?
答案 0 :(得分:3)
您可以使用dict的get
属性:
auto = kwargs.get('auto', False)
这允许使用默认值(在这种情况下为False
)。
但是,请谨慎使用这种方法,因为这种代码不会抱怨错误的关键字参数。有人打电话给funct(1,2,auot=True)
,一切都很好。您可以考虑检查您收到的kwargs是否属于某个特定列表。