2013-08-05 56 views
1

如果我有一个函数:动态添加关键字参数

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

我怎么能动态keyworded参数添加到这个功能呢?我正在Python中构建一个HTML生成器,所以我需要能够根据用户想要启用的属性添加密钥参数。例如,如果用户想要在表单中使用name属性,他们应该能够在存储的关键字参数列表中声明它(不知道如何执行此操作)。存储的关键字参数列表还应该包含变量的值。例如,如果用户想要的属性是“你好”,它应该看起来像,并传递给函数像这样:

name = "Hello" (example) 

让我知道,如果你们需要更多的信息。谢谢!

+0

的可能的复制(https://stackoverflow.com/questions/337688/dynamic-keyword-arguments-in-python) –

回答

8

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

add(name="Hello") 

可以使用**expression调用语法在字典传递给一个函数,而是会扩展到关键字参数(这你**kwargs功能参数将再次捕获) :?在Python动态关键字参数]

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

这正是我需要的。不知道我可以添加一个这样的字典。谢谢! – tabchas