こもろぐ @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

広告:本ブログで紹介している書籍等商品の紹介でAmazonアソシエイトを利用していることがあります。

コードを育てる

http://www.nishiohirokazu.org/blog/2006/11/re_re_python.html

本質的に一つの文で書けるので、こう書いてもOK(ぇ)

わ,ワンライナー!!ふつう(失礼)のPythonコードがワンライナーに育っていきます.
ブロックなコードをlambdaに書き換える部分がとても参考になります.
__setitem__で代入文が使えないのを補ったり,orで破壊的メソッドでも戻り値返せたり(None(戻り値がNoneになる式) or 戻り値).lambdaは普段使わないもので…
bool値はリストのインデックスに使えるんですね.List[True]とかで,Trueが1の代わりに,Falseが0の代わりに…メジャーな機能になったのが最近だから,バージョン間の互換性の為にのこしてあるのかな.
最後のジェネレータの生成方法も知らなかった…
あとインタラクティブシェルでは"_"という変数が使えるんですね.値を戻したけど代入されなかったときは自動的に"_"に入るのでprint _で取り出せる.
しかし,最後のワンライナーはそのままだと読む気がしないので,出会ったら,ブロック風に整形してあげるのが精神衛生上よろしいかもしれません…