仅传递与函数签名匹配的kwargs

时间:2019-11-25 08:41:43

标签: python

如果我有类似的配置字典

config={'a':1, 'b':2, 'c':3, 'd':4}

和我想调用的功能

def my_function(a, b, c):
    print(a, b, c)

然后我可以像这样手动传递函数值

my_function(config['a'], config['b'], config['c'])

或者我操纵我的配置看起来像

config={'a':1, 'b':2, 'c':3}

将其传递为

my_function(**config)

所以我的问题是:有没有一种方法可以自动删除config中不匹配my_function签名的那些键,以便我可以方便地用原始配置字典调用my_function(**config)? / p>

到目前为止,还没有找到答案,尽管我认为这是相当简单的事情。如果有人可以分享一些想法,包括“ 这真是糟糕的编码风格”之类的东西,我将不胜感激!

0 个答案:

没有答案