python中函數(shù)返回多個結(jié)果的實例方法
其實有一個疑惑一直在小編心中,每一個代碼段編寫里,總會出現(xiàn)好多個函數(shù),也許有人和小編有一樣的認同感,后來,小編明白,每一個函數(shù)本身都是都有各自的目的,有的是需要去必須返回一個字符串,有的是必須要去返回浮點數(shù),還有的是需要去返回多個值,這也是大家所需要的,下面給大家演示。
函數(shù)返回多個結(jié)果
$ 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)
執(zhí)行結(jié)果
$ python2.7 e3.py
(9, 22)
Python中的函數(shù)是可以返回多個值比如在游戲中經(jīng)常需要從一個點移動到另一個點,給出坐標、位移和角度,就可以計算出新的新的坐標:
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函數(shù)返回的仍然是單一值:
>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)
原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數(shù)返回多值其實就是返回一個tuple,但寫起來更方便。
相關(guān)文章:
1. Ajax實現(xiàn)表格中信息不刷新頁面進行更新數(shù)據(jù)2. .NET中l(wèi)ambda表達式合并問題及解決方法3. 淺談python出錯時traceback的解讀4. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向5. windows服務器使用IIS時thinkphp搜索中文無效問題6. JSP數(shù)據(jù)交互實現(xiàn)過程解析7. Python importlib動態(tài)導入模塊實現(xiàn)代碼8. Nginx+php配置文件及原理解析9. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法10. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解
