2012年6月14日木曜日

初めてのPython 20章その4 デフォルト引数使用時の注意

デフォルト引数はdef文が実行されるときに定義される。
関数が呼ばれるときは何もしない。
>>> def saver(x=[]):
...     x.append('aho')
...     print x
...     
>>> saver([4])
[4, 'aho']
>>> saver()
['aho']
>>> saver()
['aho', 'aho']
>>> saver([1])
[1, 'aho']
>>> saver()
['aho', 'aho', 'aho']
>>> 

デフォルト引数はグローバル変数のように生き残るが、
名前が衝突するようなことはない




0 件のコメント:

コメントを投稿