动态添加关键字参数

时间:2013-08-05 10:37:24

标签: python

如果我有一个功能:

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

如何动态地将keyworded参数添加到此函数中?我正在使用Python构建HTML生成器,因此我需要能够根据用户想要启用的属性添加keyworded参数。

例如,如果用户想要在表单中使用name属性,他们应该能够在存储的关键字参数列表中声明它(不知道如何执行此操作)。此存储的关键字参数列表还应包含变量的值。例如,如果用户希望属性名称为“Hello”,它应该看起来像并传递给函数,如下所示:

name = "Hello" (example)

如果您需要更多信息,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:10)

接受动态关键字列表。只需使用以下关键字调用该函数:

add(name="Hello")

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

attributes = {'name': 'Hello'}
add(**attributes)