以前一直不太明白上下文的用处,今天看到一些文章用到了就重新开始学 ,简单讲就是
@contextlib.contextmanage后面的接上的函数中要用到yield ,yield前面的部分函数使用是,也就是with 函数(参数):这里面的内容,在执行完这里的内容后,再执行yield后面的内容
举例
import contextlib
@contextlib.contextmanager
def test1():
print("前面的部分")
yield
print("后面的部分")
if __name__ == '__main__':
with test1():
print("中间执行的代码块")
运行的结果:
前面的部分
中间执行的代码块
后面的部分
作用就在于可以更简单的写一些运行完后需要关掉的如计时器,文件,进程等一系列,知道用法灵活运用就好。只记录与给自己看,写得不好勿喷,谢谢