Python函数可以返回多个值吗?

3 投票
4 回答
10346 浏览
提问于 2025-04-16 08:59

我正在学习如何在Python中使用函数,想知道是否可以返回多个值。

4 个回答

1

这段代码是用来处理某些数据的。具体来说,它可能会对输入的数据进行一些操作,比如计算、转换格式或者提取特定的信息。代码块中的内容可能包含一些函数或者逻辑,用来实现这些功能。

如果你对代码的具体作用有疑问,可以尝试逐行阅读,看看每一部分是如何工作的。通常,代码会有注释,帮助你理解每个步骤的目的。

总之,这段代码的目的是为了让计算机能够更好地处理和理解数据,从而完成特定的任务。

def two_values():
    return (1, 2)

(a, b) = two_values()
7

你可以把想要返回的值放在一个元组里返回。

举个例子:

>>> def f():
...     return 1, 2, 3
... 
>>> a, b, c = f()
>>> a
1
>>> b
2
>>> c
3
>>>
7

Python 有一些很酷的参数解包功能。虽然你只能返回一个值,但如果这个值是一个元组(tuple),你可以自动把它拆开:

>>> 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 中,这个功能是不能用的。

撰写回答