コンテキストマネージャ
正直なところ、直感的に理解出来なかった。そこで、独断と偏見に基づき、整理する。
コンテキストマネージャとは、
class ContextManager: def __enter__(self): print '1' return self def __exit__(self, exc_type, exc_value, traceback): print '4' def foo(self): print '3' with ContextManager() as cm: print '2' cm.foo() # 実行結果 # # 1 # 2 # 3 # 4