- 作者: Tarek Ziade,稲田直哉,渋川よしき,清水川貴之,森本哲也
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/05/28
- メディア: 大型本
- 購入: 31人 クリック: 714回
- この商品を含むブログ (87件) を見る
2章 構文ベストプラクティス クラス以外
→中にある要素をnext()で取り出す
- ジェネレータ
→yield
→処理の途中の値を返す
→ループ処理やシーケンス(並んだ順番)で返す関数はまずジェネレータ
→sendメソッド
→sendから送られた値を受け取れるようになった
→外部からデータを送れる
→コルーチン
→複数の箇所で実行を一時停止・再開する
→Pythonではスレッドを使う
→複数のクライアントからクエリを受け取るときとかに使う。
→ジェネレータ式
→()を使って、リスト内包表記の書き方でかく
→yieldの代わり
→イテレータのように動作するリスト内包表記は、ジェネレータ式使う
→itertoolsモジュール
→islice
→特定の場所からイテレータを動かしたいとき
→tee
→データの再処理に使用
→groupby
→Unixでのuniqと一緒
→「get uuuuuup」だったら「1g1e1t5u1p」って返す
- デコレータ
→関数やメソッドをラッピング、見た目をわかりやすく
→ラッピングって何
→受け取った関数を拡張して返す
→クラスメソッドに@でやってくれる
→元の関数を呼び出すサブ関数を定義し、それを返す
→やっちゃうと元の関数をラップしちゃって変わっちゃう
→functoolsの@wrapsで大丈夫
→使うならラッパーのみ。他のメソッドや関数に適用できないなら、デコレータは×
→用途
→引数チェック
→キャッシュ
→利用頻度が高いものをデータに保存
→メモ化
→サブルーチンの呼び出し結果を持って再計算を防ぐ
→プロキシ
→代理としてネットに接続
→コンテクストプロバイダ
わかってないに等しいな...orz