python @contextmanager

@contextmanager 的作用就是我们可以把一个非自定义类改成一个上下文管理器。
这个会经常遇到,所以有必要理解一下。 上下文管理器 是有 enter__和__exit ,那么我们可以为需要改写的普通类创建一个子类,在其中添加上__enter__和__exit__方法通过继承父类的方式实现上下文管理器。但是通过contextlib模块下提供的@contextmanager装饰器,我们能够更方便的将一个普通类变成上下文管理器。(那么它有什么好处)
@contextmanager @contextmanager通过将一个函数变成生成器的方式来为普通类添加进入和退出时的处理代码,从而实现了将普通类变成一个上下文管理器。
还是拿文件来举个例子 # 结果 打开文件 查询文件 关闭文件
from contextlib import contextmanager

class File():
def

python @contextmanager最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/28624.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>