Pythonチュートリアル 4章 制御構造ツール(6)

キーワード引数

関数を呼び出す時に、関数側で定義されている引数の名前を使って引数を指定する事が出来ます。

16~18行目でparrot関数を呼び出していますが、引数の指定に「voltage=10000」「action=’VOOOOOM’」と指定しています。これをキーワード引数といます。
関数の呼び出しにおいて、位置引数とキーワード引数は混在させる事が出来ますが、キーワード引数は位置引数の後でなければなりません。

可変長引数を受け取る

関数定義で引数に*と**を使うと、任意の数の引数(可変長引数)を指定出来ます。
* 複数の引数をタプルとして受け取る
** 複数のキーワード引数を辞書として受け取る

13行目でcheeseshop関数を呼び出していますが、
引数の2番目で「”It’s very runny, sir.”」と「”It’s really very, VERY runny, sir.”」の複数の引数を指定しています。
また、引数の3番目では、キーワード引数として「shopkeeper=”Michael Palin”」、「client=”John Cleese”」、「sketch=”Cheese Shop Sketch”」の3個の引数を指定しています。
この様に引数数を可変長にする事が出来ます。

まとめ

今回は、関数のキーワード引数と可変長引数について説明しました。
次回は、位置引数専用、キーワード引数専用について説明します。