【发布时间】:2013-09-13 12:01:20
【问题描述】:
我有一个具有update_database() 函数的程序,但直到运行时我才知道关键字参数是什么,所以有一次调用该函数时可能需要:
table_name = 'example1'
update_database(table_name, column1='...', column3='...')
但下次可能是:
table_name = 'example2'
update_database(table_name, column5='...', column2='...')
因此,函数调用需要混合使用常规参数和关键字参数。我可以作为列表访问的关键字参数名称,因此我可以以任何我喜欢的旧方式轻松格式化它们,但我不确定这种行为是否在 python 中是可能的。
有人知道这是否/如何可能吗?
更新:
还值得注意的是,update_database() 函数是导入模块的一部分,所以我不能修改它的定义,我可以以某种方式包装它,但我不确定这是否有什么好处。
【问题讨论】:
-
参见例如this old question.
标签: python arguments keyword keyword-argument