2010年12月12日日曜日

デフォルト引数

関数の引数にはデフォルト値を指定できる。デフォルト値が指定されていれば、引数は指定しなくてもよい。

>>> def multiple(a, b=2):
... return a*b
...
>>> multiple(1)
2
>>> multiple(2)
4
>>> multiple(4)
8
>>> multiple(4,2)
8
>>> multiple(4,4)
16

引数のデフォルト値に可変(Mutable)オブジェクトを指定した場合は毎回同じ値が参照されるので注意。ListやDictionaryを使う場合は要注意
>>> def f(a, L=[]):
... L.append(a)
... return L
...
>>> f(1)
[1]
>>> f(2)
[1, 2]
>>> f(3)
[1, 2, 3]

0 件のコメント:

コメントを投稿