參考鏈接: 在Python中返回多個值
(廖雪峰Python教程學習筆記)?
函數體內部的語句在執行時,一旦執行到return,函數就執行完畢,并將結果返回。? 如果沒有return語句,函數執行完畢后也會返回結果,只是結果為None。? return None可以簡寫為return。?
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, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)?
原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數返回多值其實就是返回一個tuple,但寫起來更方便。