5

如果我有一个功能:

def add(**kwargs):
    for key, value in kwargs.iteritems():
        print "%s = %s" % (key, value)

如何动态添加关键字参数到这个函数?我正在用 Python 构建一个 HTML 生成器,因此我需要能够根据用户想要启用的属性添加关键字参数。

例如,如果用户想在表单中使用name属性,他们应该能够在存储的关键字参数列表中声明它(也不知道该怎么做)。这个存储的关键字参数列表也应该包含变量的值。例如,如果用户希望属性名称是“Hello”,它应该看起来像这样并被传递给函数:

name = "Hello" (example)

让我知道你们是否需要更多信息。谢谢!

4

1 回答 1

16

已经接受了一个动态的关键字列表。只需使用这些关键字调用函数:

add(name="Hello")

您可以使用**expression调用语法将字典传递给函数,它将被扩展为关键字参数(您的**kwargs函数参数将再次捕获):

attributes = {'name': 'Hello'}
add(**attributes)
于 2013-08-05T10:38:23.880 回答