gpt4 book ai didi

python - 在 Python 中调用函数并仅传递它期望的参数

转载 作者:太空狗 更新时间:2023-10-29 20:46:27 26 4
gpt4 key购买 nike

我如何调用一个函数并只向它传递它期望的参数。例如说我有以下功能:

func1 = lambda a: True
func2 = lambda a, b: True
func3 = lambda c: True

我想要一些能够成功调用这些函数的 Python 代码,而不会通过传递意外参数引发 TypeError。即

kwargs = dict(a=1, b=2, c=3)
for func in (func1, func2, func3):
func(**kwargs) # some magic here

我对在定义函数时只添加 **kwargs 不感兴趣。

最佳答案

您可以使用inspect.getargspec():

from inspect import getargspec
kwargs = dict(a=1, b=2, c=3)
for func in (func1, func2, func3):
func(**dict((name, kwargs[name]) for name in getargspec(func)[0]))

关于python - 在 Python 中调用函数并仅传递它期望的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543870/

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