Pythonにおける関数への複数のパラメータの渡し方
複数の数値パラメータを受け取る関数があるとします:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
関数を呼び出す際に指定された数値2
と3は、それぞれ変数num1
とnum2に入ります。
しかし、関数呼び出し時に多くのパラメータを渡す必要があり、
その数があらかじめわからない場合があります。Pythonでは、
関数の宣言時に1つの変数のみを設定でき、後で呼び出し時に
渡されたすべてのパラメータのタプルがそこから導出されます。
そのためには、この変数の前に記号*を指定する必要があります。
このような変数は通常argsと呼ばれますが、
他の任意の名前を付けることもできます。そして、すべての
パラメータを出力するには、関数本体でこの変数を記述する
必要がありますが、*はなしです:
def func(*args):
return args
print(func(1, 2, 3)) # (1, 2, 3) を出力します
その後、得られたパラメータに対して他の任意の操作を行う ことができます。それらの合計を求めてみましょう:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # 6 を出力します
ユーザー名を無制限の数でパラメータとして受け取り、 それらをタプルとしてコンソールに出力する関数を 書いてください。