gpt4 book ai didi

Python:如何只将需要的参数从字典传递给函数?

转载 作者:行者123 更新时间:2023-12-02 17:03:19 25 4
gpt4 key购买 nike

假设现在我有一个定义明确的函数

def f1(a):
...

我不能改变它的定义。现在我想用字典中的参数调用它

D={ 'a':1 , 'b':2}

如果我这样调用它

f1(**D)

会出现语法错误(因为b在f1中没有定义)。我的问题是我是否可以找到一种聪明的方法让函数找到它只需要的参数?

最佳答案

您可以使用 inspect.getargspec :

d = {'a': 5, 'b': 6, 'c': 7}
def f(a,b):
return a + b

f(*[d[arg] for arg in inspect.getargspec(f).args])

给出 11


谢谢 Eugene,getargspec 是遗留的,您应该使用 getfullargspec在这种情况下具有相同的用法。

关于Python:如何只将需要的参数从字典传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52956219/

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