why use With?
有些事情需要事先进行设置,事后进行处理,with语句提供了一个很好的处理方式,例如文件读写处理,有时候可能忘记关闭文件,with可以很好地处理这种现象。
with语句用来简化这种容易遗漏的状况,一个类中既有__enter___()也有__exit___()
class
LockContext(
object
):
__init__(
self
, lock):
self
.lock
=
lock
__enter__(
self
):
self
.Lock()
__exit__(
self
,
type
, value, traceback):
if
type
!
=
None
:
process_except()
self
.Unlock()
return
false
with LockContext(lock) as lock:
.......