Python関数は多値を返します
658 ワード
多値関数を返すと複数の値を返すことができますか?答えは肯定的だ.例えば、ゲームでは常に1つの点から別の点に移動し、座標、変位、角度を与える必要があります.新しい座標を計算することができます.#mathパッケージはsin()とcos()関数を提供し、importで参照します.
しかし、これはただの仮象で、Python関数は依然として単一の値を返します:>>r=move(100、100、60、math.pi/6)>>print r(151.96152422706632、70.0)はprintで戻り結果を印刷して、もとは戻り値はtupleです!しかし、文法上、1つのtupleを返すと括弧を省略することができ、複数の変数は同時に1つのtupleを受信し、位置によって対応する値を与えることができるので、Pythonの関数が多値を返すのは実は1つのtupleを返すことであるが、書くのはもっと便利である.
import math
def move(x, y, step, angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
print(move(100, 100, 60, math.pi / 6))
しかし、これはただの仮象で、Python関数は依然として単一の値を返します:>>r=move(100、100、60、math.pi/6)>>print r(151.96152422706632、70.0)はprintで戻り結果を印刷して、もとは戻り値はtupleです!しかし、文法上、1つのtupleを返すと括弧を省略することができ、複数の変数は同時に1つのtupleを受信し、位置によって対応する値を与えることができるので、Pythonの関数が多値を返すのは実は1つのtupleを返すことであるが、書くのはもっと便利である.