今日、私はPythonの教科書で関数を見ました、コードは以下です:
def power(x,y):
return pow(x,y)
power
にパラメーターを与えたとき以下のように:
>>>params=(5,)*2
>>>power(*params)
3125
この関数は3125を返しました。3125は(5 * 5)*(5 * 5)* 5に由来する可能性があることは知っていますが、コード内のパラメーターがどのように機能するのかわかりません。表現
(5,)*2
の意味
?
回答 3 件
params
の値を調べると 、それがどのように機能するかを見ることができます:>>> params=(5,)*2 >>> params (5, 5) >>> power(*params) 3125
*n
シーケンスに適用すると、自身に追加されたシーケンスn
が返されます 回(ドキュメントを参照)。(5,)*2
(5, 5)
に展開します 、別名はタプル。 tuplesのドキュメントを参照してください。再
pow()
:ドキュメントによると、pow(x,y)
戻り値xのy乗:スクリプトでは、
power(*params)
で*を使用しますparams
に2つのアイテムを挿入する 関数への個々のパラメーターとしてのタプル。power(5,5)
と入力することで同じことが実現できます。 。したがって、5125は3125に相当します。
タプルに関する直感的なチュートリアルはこちらです。
それはタプルの連結です。