解包关键字参数的正确方法(kwargs)

时间:2014-07-16 17:40:12

标签: python kwargs

使用关键字参数,您无法在dict中引用潜在的关键字值,因为它们可能不存在。引用可能存在或不存在的关键字值的最佳方式是什么?我发现自己在做这样的事情:

def save_link(link, user, **kwargs):

    if "auto" in kwargs:
        auto = kwargs["auto"]
    else:
        auto = False

以提供默认值并创建可靠存在的变量。还有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用dict的get属性:

auto = kwargs.get('auto', False)

这允许使用默认值(在这种情况下为False)。

但是,请谨慎使用这种方法,因为这种代码不会抱怨错误的关键字参数。有人打电话给funct(1,2,auot=True),一切都很好。您可以考虑检查您收到的kwargs是否属于某个特定列表。