関数を構成する要素の中で、意外に多機能なのが「
引数」です。これは、普通に値を渡す他にいろいろとオプションを持っています。
まず、「
キーワード引数」というもの。これは、引数にキーワード(名前)をつけて使えるようにする機能です。どういうことかというと、こういうこと。
※関数の定義(3) def 関数 ( キー1=初期値1 , キー2=初期値2 , ……):
キーと
初期値を指定するのです。これにより、キーを使って引数を指定できるようになります。普通、引数は順番が決まっているんですが、キーを使うことで、順番に関係なく値を記述できます。
また、初期値を設定できるため、値を省略することができるようになります(省略すると初期値が使われる)。普通、引数というのは必ず値を渡さないといけないのですが、キーワード引数にすれば、オプション扱い(なくてもOK)の引数が作れます。
では、実際の利用例を見てみましょう。下のリスト欄にサンプルを掲載しておきます。
ここでは、3通りの引数の指定をして
showMsgを呼び出しています。
showMsg("Taro")というように、第1引数に名前を指定するだけでもちゃんと動きますし、第2第3引数を用意しても動きます。
また、キーワードはつけてもつけなくても動きます。ただし、キーワードを付けない場合は、引数は定義された順番通りに指定しないといけません。キーワードを付けて引数を書く場合は、どんな順番でもOKです。
ここでは、キーワードなしの引数とありの引数が混在していますが、このような場合は、かならず「キーワードなしの引数」を先に定義し、キーワード引数はその後に定義して下さい。キーワード引数の後にキーワードなしの引数を用意すると文法エラーになります。
def showMsg(name, header='Hello', footer='How are you?'):
print(header + "," + name + ". " + footer)
showMsg("Taro")
showMsg("花子",'こんにちは','お元気ですか。')
showMsg("幸子",footer='どもども',header='やっほ')
