我有两个 Python 函数,它们都在函数定义中采用可变参数。举一个简单的例子:
def func1(*args):
for arg in args:
print arg
def func2(*args):
return [2 * arg for arg in args]
我 想 组合 它们 —— 就像func1(func2(3, 4, 5))
—— 但 我 不想args
成为, 我 想要 它 是func1
,好像 它 被 称为而 不是.([6, 7, 8],)
(6, 7, 8)
func1(6, 7, 8)
func1([6, 7, 8])
通常,我会使用func1(*func2(3, 4, 5))
或func1
检查是否args[0]
是一个列表。不幸的是,我不能在这个特定的实例中使用第一个解决方案,而应用第二个解决方案需要在很多地方进行这样的检查(角色中有很多功能func1
)。
有谁知道如何做到这一点?我想可以使用某种内省,但我可能是错的。