Python 関数の作り方 (キーワード引数)

Pythonの関数の引数をキーワード引数で記載する方法を記載します。


実例

どの引数に何を渡すかを、呼び出し側で明示的に記載します。

def calc(a, b, c):
    calc_result = a + b - c
    return calc_result

calc(a=10, b=5, c=3) # 引数に値を設定
>> 12

calc(c=10, b=5, a=3) # 引数に値を設定
>> -2

キーワード引数を使わない場合は、呼び出し側で渡した順番に、引数が設定されます。


デフォルト値の設定

関数にあらかじめデフォルト値を設定することができます。呼び出し側で引数に値が設定されていない場合は、デフォルト値が使用されます。

def calc(a=10, b=5, c=3):
    calc_result = a + b - c
    return calc_result 

calc(a=20)
>> 22

calc(20, b=10, c=10) # 明示的に指定しない場合は、順番に設定される (a=20)
>> 20

呼び出しエラー

キーワード引数を使用して引数を設定した場合、その後の引数を無名で設定することはできません。

calc(20, b=10, 10)
>> SyntaxError: positional argument follows keyword argument

メリット

キーワード引数を使うことで、呼び出し側から見たときの関数の挙動がよりわかりやすくなります。特に引数の多い関数では、より有効です。