
関数内の関数
関数に関数を渡す。
関数から関数を返す。
任意の数のあらゆる型
の引数を処理。
引数のリストを受け取る
いくつでも引数を指定できる関数(この例では
myfunc
と呼びます)を作成する場合を
想像してください。例えば、
myfunc
を次のように呼び出すこともあれば、
myfunc(10)
次のように呼び出すこともあり、
myfunc()
または、次のように呼び出すこともあります。
myfunc(10, 20, 30, 40, 50, 60, 70)
実際には、
myfunc
は任意の数の引数で呼び出されるのですが、数は事前にはわかりま
せん。
3
つの異なるバージョンの
myfunc
を定義して上の
3
つの呼び出しを処理することはで
きないので、「関数で任意の数の引数を取ることは可能なのか」という疑問が生じます。
*
を使って可変長の引数リストを受け取る
Python
には、関数が任意の数の引数を取れることを示す特殊な表記があります(「任意
の数」とは「ゼロ個以上」という意味で
す)。この表記では
*
を使って任意の数を表し、引数
名(慣例により
args
を使います)と組み合わせて関数が可変長の引数リストを取れるこ
とを示します(ただし、
*args
は厳密にはタプルです)。
下は、この表記を使って呼び出し時に任意の数の引数を取るようにした
myfunc
です。
引数を指定すると、
myfunc
はその値を画面に表示します。
390
10
章
もう少しです。あと
1
つでデコレータを
作成する準備が整います。
引数
1
つ
引数なし
いくつもの引数
(この例ではすべて数値 ...