带默认参数的Python函数

2024-05-12 19:20:41 发布

您现在位置: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值。我理解它忽略了它,因为我已经在创建函数的阶段定义了它。但是为什么它没有给我默认值呢?名称参数存储在哪里

谢谢


Tags: 函数代码namealphafalseagereturndef
2条回答

name在函数上下文中可用

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

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

相关问题 更多 >