with 上下文管理器
在类里实现两个方法,__enter__, __exit__
class TestWith:
def run(self):
return self
def __enter__(self):
print("with start")
def __exit__(self, exc_type, exc_value, tb):
print("with end")
test = TestWith()
with test.run():
print("do something")
with start
do something
with end