#expertpython エキスパートPythonプログラミング読書会03

エキスパートPythonプログラミングの読書会3回目 http://atnd.org/events/8168 です。
1
まっくす @max747

itertools tee の実装読んでる。元のイテレータをteedataobjectでラップしてる。teedataobjectは、元イテレータの値をキャッシュするようになってるっぽい #expertpython

2010-10-05 20:40:34
tomo🐧@learning @cocoatomo

デコレータって複雑になりがちで、あまり好きじゃない。複数被せると危険だし。 #expertpython

2010-10-05 20:40:45
Takayuki Shimizukawa @shimizukawa

僕も調べた。そのとおりですね。>キャッシュ RT @cocoatomo: なるほど~。 RT @tk0miya: itertools.tee は結果をキャッシュしていて、元のイテレータの呼び出しは一回だけのようです(今調べた) #expertpython

2010-10-05 20:41:25
Takayuki Shimizukawa @shimizukawa

挙動を変えないデコレータは分かりやすくて便利ですよ。挙動を変えないので複数でもそれほど問題ないはず。 RT @cocoatomo: デコレータって複雑になりがちで、あまり好きじゃない。複数被せると危険だし。 #expertpython

2010-10-05 20:48:34
tomo🐧@learning @cocoatomo

たらい回しやってみよう!! by t2yさん #expertpython

2010-10-05 20:50:38
Kyoh @kyoh3

デコレータの活用例:メモ化 #expertpython

2010-10-05 20:50:46
tomo🐧@learning @cocoatomo

了解です。 RT @shimizukawa: 挙動を変えないデコレータは分かりやすくて便利ですよ。挙動を変えないので複数でもそれほど問題ないはず。 RT @cocoatomo: デコレータって複雑になりがちで、あまり好きじゃない。複数被せると危険だし。 #expertpython

2010-10-05 20:51:33
まっくす @max747

Javaでいうとアノテーションベースのアスペクトが近いかな>デコレータ #expertpython

2010-10-05 20:55:25
Kyoh @kyoh3

デコレータ大好き派です #expertpython

2010-10-05 20:55:54
Ike Tohru @rokujyouhitoma

Pythonのデコレータが複数あった場合は下から評価される。知らなかった #expertpython

2010-10-05 20:58:05
tomo🐧@learning @cocoatomo

そう言えば Flask でもデコレータが上手く使ってあったな。 #expertpython

2010-10-05 20:58:40
tomo🐧@learning @cocoatomo

下からというか内側からですね。デコレータはシンタックスシュガーですよ。 RT @rokujyouhitoma: Pythonのデコレータが複数あった場合は下から評価される。知らなかった #expertpython

2010-10-05 20:59:48
Ike Tohru @rokujyouhitoma

RT @cocoatomo: 下からというか内側からですね。デコレータはシンタックスシュガーですよ。 RT @rokujyouhitoma: Pythonのデコレータが複数あった場合は下から評価される。知らなかった #expertpython

2010-10-05 21:00:11
tomo🐧@learning @cocoatomo

うろ覚えですが、ほぼ一緒。引数も取れたし。 RT @max747: Javaでいうとアノテーションベースのアスペクトが近いかな>デコレータ #expertpython

2010-10-05 21:02:28
tomo🐧@learning @cocoatomo

引数を受け取るデコレータは実装ががが #expertpython

2010-10-05 21:06:19
tk0miya @tk0miya

RT @max747: Javaでいうとアノテーションベースのアスペクトが近いかな>デコレータ #expertpython

2010-10-05 21:06:34
まっくす @max747

デコレータ複数定義した場合は関数に近い側から順にラップされて動作するみたいですね #expertpython

2010-10-05 21:07:11
tomo🐧@learning @cocoatomo

with 文は Ruby のブロック構文だっけ? これ欲しかったんだよなぁ。 #expertpython

2010-10-05 21:09:11
tk0miya @tk0miya

デコレータは簡易フレームワークっぽい感じかな。関数に対してラッピングをするので、メソッド = ページという構成を持ってる WAF なんかとは相性が非常に良さそうな気がする。 #expertpython

2010-10-05 21:14:22
Takayuki Shimizukawa @shimizukawa

あとで納得のいくデコレータ実装例をデモします! RT @tk0miya: デコレータは簡易フレームワークっぽい感じかな。関数に対してラッピングをするので、メソッド = ページという構成を持ってる WAF なんかとは相性が非常に良さそうな気がする。 #expertpython

2010-10-05 21:18:57
Takayuki Shimizukawa @shimizukawa

ん、何か違うような.. RT @cocoatomo: with 文は Ruby のブロック構文だっけ? これ欲しかったんだよなぁ。 #expertpython

2010-10-05 21:19:32
Takayuki Shimizukawa @shimizukawa

関数呼び出しなのだ、と理解すると納得できる挙動ですよね RT @max747: デコレータ複数定義した場合は関数に近い側から順にラップされて動作するみたいですね #expertpython

2010-10-05 21:20:50
まっくす @max747

Lock の __enter__ はどこに実装されてるのか調べていったらまたしてもCコードにたどり着いた。Module/_multiprocessing/semaphore.c の semlock_acquire が実体っぽい #expertpython

2010-10-05 21:22:05
Takayuki Shimizukawa @shimizukawa

恐ろしい子… RT @max747: Lock の __enter__ はどこに実装されてるのか調べていったらまたしてもCコードにたどり着いた。Module/_multiprocessing/semaphore.c の semlock_acquire #expertpython

2010-10-05 21:23:28