Python3 をいじっていく中で、気が付いたことをこのプログにぼちぼち書き留めておこうと思う。
Pythonの関数定義ではパラメーターも戻り値もタイプを指定しない。C++,Java,Pascalなどの知識のある学習者には異常に見えるが、Python は loosely typed language なんである。
>>> def foo(a,b,c): return a*100 + b*10 + c >>> foo(3,2,1) 321
パラメーターに初期値を持たせることができる。 パラメーターを指定しない場合はその初期値が使用される。
>>> def bar(a=1, b=1, c=1): return a*100 + b*10 + c >>> bar() 111 >>> bar(3) 311 >>> bar(3,4) 341 >>> bar(3,4,1) 341
さらにはパラメーターを明示すれば、カッコ内に現れる順序を気にする必要がなくなる。
>>> foo (a=5,c=2,b=1) 512 >>> bar(c=3,b=2) 123 >>> bar(c=9) 119 >>> bar(c=6,b=4,a=2) 246