其实有一个疑惑一直在小编心中,每一个代码段编写里,总会出现好多个函数,也许有人和小编有一样的认同感,后来,小编明白,每一个函数本身都是都有各自的目的,有的是需要去必须返回一个字符串,有的是必须要去返回浮点数,还有的是需要去返回多个值,这也是大家所需要的,下面给大家演示。
函数返回多个结果
1
2
3
4
5
6
7
|
$ vim e3.py def damage(skill1,skill2): damage1 = skill1 * 3 damage2 = skill2 * 2 + 10 return damage1,damage2 skill1_damage,skill2_damage = damage( 3 , 6 ) print (skill1_damage,skill2_damage) |
执行结果
$ python2.7 e3.py
(9, 22)
Python中的函数是可以返回多个值
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:
1
2
3
4
5
|
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.96152422706632 70.0 |
但其实这只是一种假象,Python函数返回的仍然是单一值:
1
2
3
|
>>> r = move( 100 , 100 , 60 , math.pi / 6 ) >>> print (r) ( 151.96152422706632 , 70.0 ) |
原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
原文链接:https://www.py.cn/jishu/jichu/21987.html