トップページ
> 未分類
> 「Life is beautiful: Python Hack : 噛めば噛むほどおいしくなるクロージャの話」の詳細
まずは記事をブックマークしよう
記事をみて、この記事にひとこといいたい 参考になったので後で見ようと思ったら
をクリック。
Buzzurlにブックマークすることができます。
(以下本文からの引用)

最近 JavaScript を書く機会が増えているが、それに従って自分のコーディングスタイルが少しづつだが変化してきているのが分かる。もともと「コードの読みやすさ」や「実行効率」にとことんこだわるタイプだが、(JavaやC++になくて)JavaScriptやRubyにあるクロージャや無名関数が私のコーディングスタイルにとてもマッチしているからだと思う。 簡単な例を紹介しよう。Pythonで書かれた config.py というモジュール。config.yamlという設定ファイルを読み込んで Dictionary として返す config.get() という関数。普通に実装すると、以下のような感じになる。 import yaml _config = None def get(): global _config if not _config: data = open('config.yaml').read().decode('utf8') _config = yaml.load(data) ret...
|
キーワードに「Python」を含むエントリー


をここにドラッグ&ドロップすると
関連エントリーとして登録することができます
このエントリーに関するコメント/返信 (1)
コメントをRSSフィードに追加
[Python] [プログラミング]
『 クロージャと無名関数を使うと、こんな風に実装することができる。
import yaml def _get_from_disk(): data = open('config.yaml').read().decode('utf8') config = yaml.load(data) # クロージャ内に隠蔽・保持されるローカル変数 global get get = lambda : config # 二回目からはconfigを返す無名関数を呼ぶ様に変更 return get() get = _get_from_disk # 初回のみローダーを実行』
2009-11-08 15:21:59 by yj/Try-starさん 返信(0)