Python 函数返回多值的分析

函数返回多值的原理

实际上,函数返回多值的内容就是一个 tuple

我们来看看表面

1
2
3
4
5
6
import math

def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny

这样我们就可以同时获得返回值:

1
2
3
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print x, y
151.961524227 70.0

哟呵,真的可以返回多值耶。

实际的原理

Python函数返回的仍然是单一值:

1
2
3
>>> r = move(100, 100, 60, math.pi / 6)
>>> print r
(151.96152422706632, 70.0)

其实就是一个 tuple,实际就是这样,并没有那么神秘嘛。

参考链接