1. ホーム
  2. パイソン

[解決済み】関数に可変数の引数を渡すことは可能か?

2022-03-24 05:44:31

質問

CやC++でvarargsを使用するのと同じような方法で。

fn(a, b)
fn(a, b, c, d, ...)

解決方法は?

はい。 *args として ノンキーワード 引数を指定します。その後、任意の数の引数を渡すことができるようになります。

def manyArgs(*arg):
  print "I was called with", len(arg), "arguments:", arg

>>> manyArgs(1)
I was called with 1 arguments: (1,)
>>> manyArgs(1, 2, 3)
I was called with 3 arguments: (1, 2, 3)

ご覧の通り、Pythonは アンパック は、すべての引数を含む単一のタプルとして扱われます。

キーワード引数については、次のように個別の実引数として受け取る必要があります。 スカーメデルの回答 .