Python 入門 | 関数 | キーワード引数
引数は、関数を構成する要素の中でも意外に多くの機能を持っている。通常の値の受け渡し以外にも、いくつかの指定方法がある。
その 1 つがキーワード引数である。引数にキーワード、つまり名前を付けて利用できる。
関数の定義 3
def 関数(キー1=初期値1, キー2=初期値2, ...):
キーと初期値を指定する。すると、キーを使って引数を渡せる。通常の引数には決まった順序があるが、キーワード引数では順序に関係なく値を指定できる。
初期値が設定されているため、引数を省略することもできる。省略するとデフォルト値が使われる。通常の引数には必ず値を渡す必要があるが、キーワード引数は省略可能な引数として扱える。
実際の例を見てみよう。
def showMsg(name, header='Hello', footer='How are you?'):
print(header + "," + name + ". " + footer)
showMsg("Taro")
showMsg("철수", '안녕', '건강하니?')
showMsg("영희", footer='잘지내니?', header='야')
このコードでは、3 通りの指定方法で showMsg を呼び出している。showMsg("Taro") のように最初の引数だけを渡しても動作し、2 番目と 3 番目の引数には初期値が使われる。
キーワードは付けても付けなくてもよい。ただし、キーワードを付けない場合は、引数を定義した順番で指定する必要がある。キーワードを付ける場合は、どの順番で指定してもよい。
この例では、初期値を持たない引数とキーワード引数が混在している。この場合は、初期値を持たない引数を先に定義し、その後にキーワード引数を定義する。キーワード引数の後に初期値を持たない引数を定義すると構文エラーになる。