Python 接受函数参数的返回值

Python 接受函数参数的返回值,python,python-2.7,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个给定值。”我是否缺少什么或这是不可能的?您想使用*-splat(或st

所以我尝试使用一个返回值的函数,但我希望这些值被返回到另一个函数中。下面是我需要的一个例子

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个给定值。”我是否缺少什么或这是不可能的?

您想使用
*
-splat(或star)操作符:

tester(*returner())
这是参数解包-它将返回值的元组解包到函数的参数中

>>> def test():
...    return 1,2,3
... 
>>> def test2(arg1, arg2, arg3):
...    print(arg1, arg2, arg3)
... 
>>> test2(*test())
1 2 3

非常感谢你!你会得到你的分数。很快:)这是一个很好的答案,但术语有点离题。大多数人称之为星形运算符,该操作称为参数解包。了解正确的术语有助于您在需要时进行搜索。仅供参考,这里有一个指向文档的链接:@RaymondHettinger。我确实说过,它将返回值的元组解包到参数中,这就是“参数解包”,并进行了更多的解释。不管是哪种方式,我都在编辑中进行了澄清。