次のような関数があるとします:
def myfun(a, b, c):
return (a * 2, b + c, c + b)
タプルが与えられた場合、 をどのように使用して を呼び出すのsome_tuple = (1, "foo", "bar")
でしょうか? これにより、結果が出力されるはずです。some_tuple
myfun
(2, "foobar", "barfoo")
タプルを直接受け入れるように定義できることはわかっていますmyfun
が、既存の を呼び出したいのですmyfun
。
参照:関数呼び出しにおける ** (二重星/アスタリスク) と * (星/アスタリスク) はどういう意味ですか?- 構文に遭遇して混乱している人のための対応する質問。
ベストアンサー1
myfun(*some_tuple)
まさにあなたが要求したとおりに動作します。*
演算子はタプル(または任意の反復可能オブジェクト)を展開し、関数に位置引数として渡します。引数の展開。