简体   繁体   English

python中的函数多次返回

[英]multiple return from function in python

def example():
    var1 = {'a':1,'b':2}
    var2 = {'c':3,'d':4}

    return var1,var2

[v1, v2] = example()

I want to assign var1 to v1, and var2 to v2. 我想将var1分配给v1,并将var2分配给v2。 Is it ok for me to unpacked tuple var1,var2 into list v1,v2. 我可以将元组var1,var2解压缩到列表v1,v2中吗? So far, I haven't found anyone unpack the multiple return value into list 到目前为止,我还没有发现有人将多重返回值解压缩到列表中

Semantically, there is no difference between unpacking into a list or a tuple. 从语义上讲,解压缩到列表或元组之间没有区别。 All of these are equivalent: 所有这些都是等效的:

v1, v2 = example()
(v1, v2) = example()
[v1, v2] = example()

(See also the assignment statement grammar .) (另请参见赋值语句语法 。)

However, unpacking into a list is a relatively unknown feature, so it might be confusing for people who read your code. 但是,解压缩到列表是一个相对未知的功能,因此对于阅读您的代码的人来说可能会造成混淆。 It's also needlessly verbose. 它也很冗长。 That's why I would strongly recommend using the well-known unpacking syntax without any parentheses or brackets: 这就是为什么我强烈建议您使用不带括号或括号的众所周知的拆包语法的原因:

v1, v2 = example()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM