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,但寫起來更方便。
相關文章:
1. phpstudy apache開啟ssi使用詳解2. 在JSP中使用formatNumber控制要顯示的小數位數方法3. 存儲于xml中需要的HTML轉義代碼4. jsp網頁實現貪吃蛇小游戲5. MyBatis JdbcType 與Oracle、MySql數據類型對應關系說明6. CentOS郵件服務器搭建系列—— POP / IMAP 服務器的構建( Dovecot )7. .NET SkiaSharp 生成二維碼驗證碼及指定區域截取方法實現8. ASP中if語句、select 、while循環的使用方法9. ASP中實現字符部位類似.NET里String對象的PadLeft和PadRight函數10. 利用CSS制作3D動畫
