函数可以将两个值输入另一个函数吗?

时间:2013-08-19 00:43:51

标签: python python-3.x

我在尝试学习Python时遇到了一个奇怪的问题。我正在编写一段代码,它从.txt文件中获取数据,将其提供给一个大量修改它的函数,然后将其提供给另一个函数。它一直有效,直到我试图将数据分成两部分。我打破了我的代码,得到了这个:

def func1(v1, v2):
    return(v1, v2)

def func2(v1, v2):
    return(v1, v2)

foo, bar = func1(func2("foo", "bar"))

func2返回两个值(在一个元组中,我认为?),但是func1需要两个分开的值 - 一个元组不会删除它。有没有办法直接吐出元组,或者我是否需要执行以下操作?

foo, bar = func2("foo", "bar")
foo2, bar2 = func1(foo, bar)

必须有更好的方法......提前致谢。

1 个答案:

答案 0 :(得分:9)

打开元组的包装,

foo, bar = func1(*func2("foo", "bar"))
                 ^

更多信息in the docs