【发布时间】:2015-10-08 18:23:36
【问题描述】:
说明
假设我有以下函数,它调用另一个函数:
def f1(arg1, arg2, arg3):
f2(...)
f1 和f2 的参数相同,或者f2 可能如下所示:
def f2(**kwargs)
pass # whatever
客户端代码要定义并调用f1,要求f1的签名明确定义所有参数,因此**kwargs不允许f1。
所以,要从f1 内部调用f2,我必须这样做:
def f1(arg1, arg2, arg3):
f2(arg1, arg2, arg3)
问题
有没有一种方法可以将参数传递给f2 而无需显式编写它们?理想情况下,我认为它应该是这样的:
def f1(arg1, arg2, arg3):
kwargs = <Some Magic Here>
f2(**kwargs)
有什么魔法吗?
更新
可能的解决方案
有没有办法可以结合locals() 和inspect.getargspec() 来聚合我的**kwargs?
【问题讨论】:
标签: python reflection arguments inspect