如何忽略传递给函数的意外关键字参数?

12 浏览
0 Comments

如何忽略传递给函数的意外关键字参数?

假设我有一个函数 f

def f(a=None):
    print a

现在,如果我有一个字典 dct = {"a":"Foo"},我可以调用 f(**dct) 并得到结果 Foo 输出。

然而,假设我有一个字典 dct2 = {"a":"Foo", "b":"Bar"}。如果我调用 f(**dct2),我会得到一个

TypeError: f() got an unexpected keyword argument 'b'

很好。然而,是否有任何方法可以在 f 的定义或调用中告诉 Python 忽略任何不是参数名称的键?最好能够指定默认值的方法。

0