python中函數(shù)返回多個(gè)結(jié)果的實(shí)例方法
其實(shí)有一個(gè)疑惑一直在小編心中,每一個(gè)代碼段編寫(xiě)里,總會(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,但寫(xiě)起來(lái)更方便。
相關(guān)文章:
1. 詳解Android studio 動(dòng)態(tài)fragment的用法2. Android如何加載Base64編碼格式圖片3. 解決Android studio xml界面無(wú)法預(yù)覽問(wèn)題4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. Vuex localStorage的具體使用8. php模擬實(shí)現(xiàn)斗地主發(fā)牌9. vue 使用localstorage實(shí)現(xiàn)面包屑的操作10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備