«

python怎么返回多个参数

时间:2024-4-9 09:50     作者:韩俊     分类: Python


这篇文章主要介绍“python怎么返回多个参数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么返回多个参数”文章能帮助大家解决问题。

因为return能够返回任意种类的对象,所以它也能够返回多个值——需要将这些值封装进一个元组或其他的集合类型。

>>>def multiple(x,y):

...    x = 2                  # Changes local names only

...    y = [3,4]

...    return x,y            # Return new values in a tuple

...

>>>X = 1

>>>L = [1,2]

>>>X,L = multiple(X,L)      # Assign results to caller's names

>>>X,L

(2,[3,4])

看起来这里的代码好像返回了两个值,但是实际上只有一个:一个包含有2个元素的元组,它的圆括号是可选的,这里省略了。在调用返回之后,我们能够使用元组赋值去分解这个返回元组的组成部分。这段代码的实际效果就是通过明确的赋值模拟了其他语言中的输出参数。

顺带说一下,在Python 2.6中,可以在传递给函数的参数中自动解包元组。在Python 2.6中,通过如下头部定义的一个函数:

def f((a,(b,c))):

可以用与期望的结构匹配的元组来调用:f((1,(2,3)))分别给a、b和c赋值为1、2和3。这个def语法在Python 3.0中不再支持,而要像下面这样编写函数:

def f(T): (a,(b,c)) = T

以便在一条显式赋值语句中解包。这种显式形式在Python 3.0和Python 2.6中都有效。参数解包在Python 2.X中是一个含糊并且很少用到的功能。此外,Python 2.6中的函数头部只支持序列赋值的元组形式;更通用的序列赋值(例如,def f((a,[b,c])):)在Python 2.6中因语法问题而无效,并且必须用显式赋值形式。

标签: python

热门推荐