- くだすれPython(超初心者用) その24
269 :デフォルトの名無しさん[sage]:2014/08/31(日) 01:16:31.29 ID:4zKdmr70 - >>265
> 例えば、定数は、ローカル変数宣言代わりにデフォルト引数に書いておくと、 > 呼び出し毎に毎回変数へ代入される処理は省略される。 それはわかるけど、そのせいで > この種のバグがよく初心者プログラマに噛み付きます。 みたいな状況になるのとどっちが大事なのかなあ、って思ったりします。 > また、こうすることで関数の結合度が弱まり、単体テストが書きやすくなるといった利点もあります。 ごめんなさい、私のようなあくまでプライベートでPython使ってるだけの人間にはその意味がよくわからないです。 単なる揚げ足取りで実際にはないケースかもかもしれないけれど、 >>237 にしても、
| - くだすれPython(超初心者用) その24
270 :269[sage]:2014/08/31(日) 01:23:25.79 ID:4zKdmr70 - 途中で書き込んじゃった。
単なる揚げ足取りで実際にはないケースかもかもしれないけれど、 >>237 にしても、 >>> class Test: ... def __init__(self,a): ... self.a = a or [] >>> L = ['a'] >>> x = Test(a=L) >>> y = Test(a=L) >>> x.a ['a'] >>> y.a ['a'] >>> x.a.append('c') >>> x.a ['a', 'c'] >>> y.a ['a', 'c'] ってなっちゃうよね。
|
|