我正在学习python中函数的使用,并想知道是否可以返回超过1的值。
答案 0 :(得分:7)
您可以将要返回的值作为元组返回。
示例:
>>> def f():
... return 1, 2, 3
...
>>> a, b, c = f()
>>> a
1
>>> b
2
>>> c
3
>>>
答案 1 :(得分: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
在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
但这在Python 2中不起作用。
答案 2 :(得分:1)
def two_values():
return (1, 2)
(a, b) = two_values()
答案 3 :(得分:1)
是
def f():
return 1, 2
x, y = f()
# 1, 2