Python函数使用默认参数

时间:2017-07-18 19:17:02

标签: python

我正在学习Python并使用函数参数。刚刚使用以下代码创建了一个测试函数:

def packer(name = 'Alpha', **kwargs):
    return(kwargs)

如果我将此函数称为:

dummy_packer = packer(name = 'Bravo', age = 65, beard = False)

结果是:

{'age': 65, 'beard': False}

变量dummy_packer在结果中根本没有 name 值。我理解它忽略了它因为我已经在创建函数的阶段已经定义了。但那为什么它也没有给我默认值呢?存储名称参数的位置?

由于

2 个答案:

答案 0 :(得分:2)

在函数上下文中可以使用

name

def packer(name = 'Alpha', **kwargs):
    print('name is %s' % (name,))
    return(kwargs)

答案 1 :(得分:0)

kwargs指的是可变数量的关键字参数。在这种情况下,因为name是一个已定义的变量,所以它不包含在kwargs中。