python中函数返回多个结果的实例方法
其实有一个疑惑一直在小编心中,每一个代码段编写里,总会出现好多个函数,也许有人和小编有一样的认同感,后来,小编明白,每一个函数本身都是都有各自的目的,有的是需要去必须返回一个字符串,有的是必须要去返回浮点数,还有的是需要去返回多个值,这也是大家所需要的,下面给大家演示。
函数返回多个结果
$vime3.py defdamage(skill1,skill2): damage1=skill1*3 damage2=skill2*2+10 returndamage1,damage2 skill1_damage,skill2_damage=damage(3,6) print(skill1_damage,skill2_damage)
执行结果
$python2.7e3.py
(9,22)
Python中的函数是可以返回多个值
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:
importmath defmove(x,y,step,angle=0): nx=x+step*math.cos(angle) ny=y-step*math.sin(angle) returnnx,ny
然后,我们就可以同时获得返回值:
>>>x,y=move(100,100,60,math.pi/6) >>>print(x,y) 151.9615242270663270.0
但其实这只是一种假象,Python函数返回的仍然是单一值:
>>>r=move(100,100,60,math.pi/6) >>>print(r) (151.96152422706632,70.0)
原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。