クロージャって、関数の中に関数を書くやつだったような?
なんだか直感的に解りづらいやつだった気がする。
とりあえずGoogle先生に尋ねてみた
上記ブログのコメントでの発言に「毎回データを読み込むことにならないか?」的なのがあったので試しにやってみた。
実験
前述のブログのソースを改変して試してみた。
初回のみデータ読み込むもの。
>>> >>> DATA = "I'm Luxury neat." >>> >>> >>> def _get_from_config(): ... print "----> reading config data!" ... config = DATA ... global get ... get = lambda: config ... return get() ... >>> get = _get_from_config >>> >>> get() ----> reading config data! 'I'm Luxury neat.' >>> >>> get() 'I'm Luxury neat.' >>>
結果
一回目だけデータ読み込んでるっぽいよ。