python中函數返回多個結果的實例方法
其實有一個疑惑一直在小編心中,每一個代碼段編寫里,總會出現好多個函數,也許有人和小編有一樣的認同感,后來,小編明白,每一個函數本身都是都有各自的目的,有的是需要去必須返回一個字符串,有的是必須要去返回浮點數,還有的是需要去返回多個值,這也是大家所需要的,下面給大家演示。
函數返回多個結果
$ vim e3.pydef damage(skill1,skill2): damage1 = skill1 * 3 damage2 = skill2 * 2 + 10 return damage1,damage2skill1_damage,skill2_damage = damage(3,6) print(skill1_damage,skill2_damage)
執行結果
$ python2.7 e3.py
(9, 22)
Python中的函數是可以返回多個值比如在游戲中經常需要從一個點移動到另一個點,給出坐標、位移和角度,就可以計算出新的新的坐標:
import mathdef move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny
然后,我們就可以同時獲得返回值:
>>> x, y = move(100, 100, 60, math.pi / 6)>>> print(x, y)151.96152422706632 70.0
但其實這只是一種假象,Python函數返回的仍然是單一值:
>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)
原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數返回多值其實就是返回一個tuple,但寫起來更方便。
相關文章:
