ふわふわpython-with文の2つの実装方法
562 ワード
1つ目は、コンテキストマネージャプロトコル、すなわち魔法メソッドを実装することです.enter__および_exit__.
in
do something
out
2つ目はcontextlibモジュールの使用です
class Foo:
def __enter__(self):
print 'in'
def __exit__(self, type, value, trace):
print 'out'
が定義されたら、このように使用できます.with Foo():
print 'do something'
出力:in
do something
out
2つ目はcontextlibモジュールの使用です
from contextlib import contextmanager
@contextmanager
def Foo():
print 'in'
yield
print 'out'