Python在函数之间传递变量元组

时间:2015-04-09 17:17:19

标签: python function variables

我遇到了在函数中返回多个值并在不同函数中使用它们的问题。为简单起见:

def menu1():
    system=system1
    choice=1
    return system,choice
 def menu2():
    option = menu1() #this assigns the option a tuple based on the first function.
    if option==system1:
        print"yes"
    if option==1:
        print"yes"


menu2()

如何基于从前一个函数获取值来正确地为选项提供“system1”或“1”的值?

1 个答案:

答案 0 :(得分:1)

您可以像对待任何其他类型的序列一样索引元组:

 def menu2():
    option = menu1()
    if option[0]==system1:
        print"yes"
    if option[1]==1:
        print"yes"

序列在Python中为0索引,因此第一个元素在索引0处,第二个元素在索引1处,依此类推。

但是,在我看来,做以下事情更清楚:

 def menu2():
    system, choice = menu1()
    if system==system1:
        print"yes"
    if choice==1:
        print"yes"

这称为元组解包,它可用于将元组的值拆分为多个要分配的名称。