飘逸的python - 两种with语句实现方法

第一种是实现上下文管理器协议,即魔法方法__enter__和__exit__。

class Foo:
def __enter__(self):
print 'in' def __exit__(self, type, value, trace):
print 'out'

定义了之后,就可以这样来使用

with Foo():
print 'do something'

输出:
in

do something

out

第二种是使用contextlib模块

from contextlib import contextmanager
@contextmanager
def Foo():
print 'in'
yield
print 'out'
上一篇:DevExpress VCL 13.1.4支持Delphi /C++Builder XE5


下一篇:linux c语言连接mysql