Python 入門 | 関数 | 可変長引数

引数について、もう 1 つ覚えておきたい機能が可変長引数である。可変長引数は、受け取る値の個数を変えられる引数である。つまり、いくつでも引数を渡せる。

引数の数が決まっていないのに、どのように値を受け取るのかと疑問に思うかもしれない。可変長引数は、多数の値をコンテナーにまとめて受け取る。リストのようなコレクションを受け取る引数だと考えると分かりやすい。コレクションをあらかじめ作る必要はなく、値を 1 つずつ渡すと Python が自動的にまとめる。

可変長引数は次のように定義する。

関数の定義 4

def 関数(*引数):

引数を定義する変数名の前にアスタリスク(*)を付ける。渡された複数の値は、その変数にまとめて格納される。その後は、必要な値を取り出して処理すればよい。

次の例を見てみよう。

def calc(*num): 
    total = 0
    for n in num: 
        total += int(n) 
    print('합계 : ' + str(total)) 
    print('평균 : ' + str(total // len(num))) 
   
calc(123, 456, 789, 246, 357, 910) 

関数を calc(*num) と定義している。渡されたすべての引数が num にまとめられる。その後は for 文で num を繰り返し処理すればよい。