3.0
移行していった方が良いんだろうか。
なんというか range = xrangeになったことくらいしかメリットを感じないんだけど・・・
#それすら別に〜な気もするし。
printの()強制は改悪のような気がする。僕はrubyに逃げてしまいそう。一貫性を持たせたいのはわかるけど、どうせ lambda汚いんだから、rubyと同じくゆるい方向に移行でも良かったんじゃないかな。
PEP3101はなんとなくC#に見えてしまって個人的には気持ち悪い。string.Templateで十分なんじゃないかな、とか言うのは禁句だろうか。
#perlというかfunny汚染を嫌う人もいそうな気はするけど・・・
追記:
と思ったけど nonlocal とかあるのか。真のclosureが実現できるのですね。
>>> def counter(init): ... count = init ... def proc(): ... nonlocal count ... count += 1 ... return count ... return proc ... >>> a = counter(10) >>> b = counter(100) >>> a() 11 >>> b() 101 >>> b() 102 >>> b() 103 >>> a() 12 >>> a() 13 >>> a() 14 >>> b() 104 >>> a() 15 >>>
それyieldで