python中函數(shù)返回多個(gè)結(jié)果的實(shí)例方法
其實(shí)有一個(gè)疑惑一直在小編心中,每一個(gè)代碼段編寫里,總會(huì)出現(xiàn)好多個(gè)函數(shù),也許有人和小編有一樣的認(rèn)同感,后來(lái),小編明白,每一個(gè)函數(shù)本身都是都有各自的目的,有的是需要去必須返回一個(gè)字符串,有的是必須要去返回浮點(diǎn)數(shù),還有的是需要去返回多個(gè)值,這也是大家所需要的,下面給大家演示。
函數(shù)返回多個(gè)結(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ù)是可以返回多個(gè)值比如在游戲中經(jīng)常需要從一個(gè)點(diǎn)移動(dòng)到另一個(gè)點(diǎn),給出坐標(biāo)、位移和角度,就可以計(jì)算出新的新的坐標(biāo):
import mathdef move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny
然后,我們就可以同時(shí)獲得返回值:
>>> x, y = move(100, 100, 60, math.pi / 6)>>> print(x, y)151.96152422706632 70.0
但其實(shí)這只是一種假象,Python函數(shù)返回的仍然是單一值:
>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)
原來(lái)返回值是一個(gè)tuple!但是,在語(yǔ)法上,返回一個(gè)tuple可以省略括號(hào),而多個(gè)變量可以同時(shí)接收一個(gè)tuple,按位置賦給對(duì)應(yīng)的值,所以,Python的函數(shù)返回多值其實(shí)就是返回一個(gè)tuple,但寫起來(lái)更方便。
相關(guān)文章:
1. 在idea中為注釋標(biāo)記作者日期操作2. Hybris在idea中debug配置方法詳解3. 通過(guò)CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫特效4. .NET6使用ImageSharp實(shí)現(xiàn)給圖片添加水印5. .NET Core Web APi類庫(kù)內(nèi)嵌運(yùn)行的方法6. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車7. jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄8. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)9. XPath入門 - XSL教程 - 310. .net如何優(yōu)雅的使用EFCore實(shí)例詳解
