python函数是否可以返回多于1的值?

Ash*_*vin 3 python function return-value

我正在学习python中的函数的使用,并想知道是否可以返回超过1的值.

dhe*_*aur 7

您可以返回要作为元组返回的值.

例:

>>> def f():
...     return 1, 2, 3
... 
>>> a, b, c = f()
>>> a
1
>>> b
2
>>> c
3
>>>
Run Code Online (Sandbox Code Playgroud)

  • 您可以在return语句中删除括号,因为Python会自动将类似`return 1,2,3`的语句转换为`return(1,2,3)`.亲:你保存到字符,它提高了可读性 (3认同)

Len*_*bro 7

Python有一些参数解包很酷.因此,虽然您只能返回一个值,但如果它是一个元组,您可以自动解压缩它:

>>> def foo():
...     return 1, 2, 3, 4 # Returns a tuple
>>> foo()
(1, 2, 3, 4)

>>> a, b, c, d = foo()
>>> a
1
>>> b
2
>>> c
3
>>> d
4
Run Code Online (Sandbox Code Playgroud)

在Python 3中,您有更多高级功能:

>>> a, *b = foo()
>>> a
1
>>> b
[2, 3, 4]
>>> *a, b = foo()
>>> a
[1, 2, 3]
>>> b
4
>>> a, *b, c = foo()
>>> a
1
>>> b
[2, 3]
>>> c
4
Run Code Online (Sandbox Code Playgroud)

但这在Python 2中不起作用.