python中函式返回多個結果的例項方法
阿新 • • 發佈:2020-12-17
其實有一個疑惑一直在小編心中,每一個程式碼段編寫裡,總會出現好多個函式,也許有人和小編有一樣的認同感,後來,小編明白,每一個函式本身都是都有各自的目的,有的是需要去必須返回一個字串,有的是必須要去返回浮點數,還有的是需要去返回多個值,這也是大家所需要的,下面給大家演示。
函式返回多個結果
$ 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中的函式是可以返回多個值
比如在遊戲中經常需要從一個點移動到另一個點,給出座標、位移和角度,就可以計算出新的新的座標:
import math def 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,math.pi / 6) >>> print(r) (151.96152422706632,70.0)
原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變數可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函式返回多值其實就是返回一個tuple,但寫起來更方便。