============================ 7.4 返回多个值的函数 ============================ ---------- 问题 ---------- 你希望构造一个可以返回多个值的函数 ---------- 解决方案 ---------- 为了能返回多个值,函数直接return一个元组就行了。例如: .. code-block:: python >>> def myfun(): ... return 1, 2, 3 ... >>> a, b, c = myfun() >>> a 1 >>> b 2 >>> c 3 ---------- 讨论 ---------- 尽管myfun()看上去返回了多个值,实际上是先创建了一个元组然后返回的。 这个语法看上去比较奇怪,实际上我们使用的是逗号来生成一个元组,而不是用括号。比如下面的: .. code-block:: python >>> a = (1, 2) # With parentheses >>> a (1, 2) >>> b = 1, 2 # Without parentheses >>> b (1, 2) >>> 当我们调用返回一个元组的函数的时候 ,通常我们会将结果赋值给多个变量,就像上面的那样。 其实这就是1.1小节中我们所说的元组解包。返回结果也可以赋值给单个变量, 这时候这个变量值就是函数返回的那个元组本身了: .. code-block:: python >>> x = myfun() >>> x (1, 2, 3) >>>