所以我试图使用一个返回值的函数,但我想将这些值返回到另一个函数中。我需要的一个例子如下。
def returner():
x=1
y=2
z=3
return x,y,z
def tester(arg1,arg2,arg3):
print arg1,arg2,arg3
tester(returner())
我想要它做的是打印1,2,3然而我无法用这个做,因为它说“测试者需要3个参数,1个给定。”我有什么遗失或这是不可能的吗?
答案 0 :(得分:12)
您想使用*
- splat(或星号)运算符:
tester(*returner())
这是参数解包 - 它将返回值的元组解包为函数的参数。
>>> def test():
... return 1,2,3
...
>>> def test2(arg1, arg2, arg3):
... print(arg1, arg2, arg3)
...
>>> test2(*test())
1 2 3