是否可以动态定义函数的关键字参数?
通常你会有这样的事情:
def f(a=None, b=None):
return locals()
我想要的是用dict中的关键字args定义一个函数;所以这将提供与上面相同的功能:
dyn_args = {'a': None, 'b': None}
def f(?magic(dyn_args)?):
return locals()
原因是我希望函数只接受与namedtuple的字段匹配的kwargs,以及其他任何内容的错误。该函数应该与几个不同的命名元组一起使用(如果它们发生了变化),并且我想保持干燥。我可以用kwargs和验证解决这个问题,但大多数情况下我只是好奇 - 欢迎肮脏的黑客。