如果我有一个功能:
def add(**kwargs):
for key, value in kwargs.iteritems():
print "%s = %s" % (key, value)
如何动态地将keyworded参数添加到此函数中?我正在使用Python构建HTML生成器,因此我需要能够根据用户想要启用的属性添加keyworded参数。
例如,如果用户想要在表单中使用name属性,他们应该能够在存储的关键字参数列表中声明它(不知道如何执行此操作)。此存储的关键字参数列表还应包含变量的值。例如,如果用户希望属性名称为“Hello”,它应该看起来像并传递给函数,如下所示:
name = "Hello" (example)
如果您需要更多信息,请与我们联系。谢谢!
答案 0 :(得分:10)
您已接受动态关键字列表。只需使用以下关键字调用该函数:
add(name="Hello")
您可以使用**expression
调用语法将字典传递给函数,它将扩展为关键字参数(您的**kwargs
函数参数将再次捕获):
attributes = {'name': 'Hello'}
add(**attributes)