接受函数参数的返回值

时间:2012-04-29 22:17:56

标签: python python-2.7

所以我试图使用一个返回值的函数,但我想将这些值返回到另一个函数中。我需要的一个例子如下。

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个给定。”我有什么遗失或这是不可能的吗?

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