Python从函数返回多个变量

时间:2014-11-18 14:39:09

标签: function python-3.x return

对于使用python的人来说,这不是一个有价值的观察问题。 与大多数其他编程语言不同,您可以从函数返回多个变量 不处理对象,列表等。

简单地说

return ReturnValue1, ReturnValue2, ReturnValue3

返回你想要的许多。

并检索它们: ReturnValue1, ReturnValue2, ReturnValue3 = functionName(parameters)

但请记住按顺序执行此操作,就像为函数指定参数一样。

干杯

2 个答案:

答案 0 :(得分:0)

由于我无法仅对你的问题发表评论,我必须将其作为答案:

确切地说,返回值将是一个元组。因此,从技术上讲,您不会返回多个值,而是返回包含这些确切值的类tuple的实例。这提供了以很多不同方式接收这些值的机会:

def f():
    return 1, 2, 3

one, two, three = f()   # one = 1, two = 2, three = 3
all_three_values = f()  # all_three_values = (1, 2, 3)
a, *b = f()             # a = 1, b = [2, 3]
assert isinstance(all_three_values, tuple)   # True

答案 1 :(得分:0)

这可能对您有所帮助:

lst = ['a','s','d','f','w','e']
def list2variables(lst):
    di = {} 
    for i in range(len(lst)): # capture index to form dict
        di[lst[i]]=lst[i]
    for k, v in di.items(): # move elements as global variable
        globals()[k] = v

    return globals() # return so that can be used in future 

在函数中也可以做一点改变,以将 dict 作为参数