gpt4 book ai didi

python - 忽略 python 中的附加关键字参数

转载 作者:太空宇宙 更新时间:2023-11-03 11:28:11 24 4
gpt4 key购买 nike

<分区>

假设我有这样一个函数

def foo(x):
...

当我用字典 { 'x': 42, 'y': 23 } 作为关键字参数调用它时,我得到一个 TypeError:

>>> foo(**{ 'x': 42, 'y': 23 })
...
TypeError: foo() got an unexpected keyword argument 'y'

有没有一种好的方法可以使用关键字参数进行函数调用,而忽略其他关键字参数?

到目前为止我的解决方案:我可以定义一个辅助函数:

import inspect

def call_with_kwargs(func, kwargs):
params = inspect.getargspec(func).args

return func(**{ k: v for k,v in kwargs.items() if k in params})

现在我可以做

>>> call_with_kwargs(foo, { 'x': 42, 'y': 23 })
42

有没有更好的办法?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com