牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

クロージャって何だったっけなーと思って、Pythonで試してみた

クロージャって、関数の中に関数を書くやつだったような?
なんだか直感的に解りづらいやつだった気がする。

とりあえずGoogle先生に尋ねてみた

ちょうどPythonクロージャなものあった。

上記ブログのコメントでの発言に「毎回データを読み込むことにならないか?」的なのがあったので試しにやってみた。

実験

前述のブログのソースを改変して試してみた。
初回のみデータ読み込むもの。

>>> 
>>> 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.'
>>> 

結果

一回目だけデータ読み込んでるっぽいよ。