0
点赞
收藏
分享

微信扫一扫

【python中级】上下文管理器装饰器@contextmanager实现上下文管理器

往复随安_5bb5 2022-05-03 阅读 49
python

【python中级】上下文管理器装饰器@contextmanager实现上下文管理器

1.背景

关于上下文管理器的自定义实现以及作用等参考如下博客:
自定义类class实现上下文管理器
https://blog.csdn.net/jn10010537/article/details/124543790

2.使用装饰器

为什么使用装饰器,为了偷懒!
自定义类class实现上下文管理器,需要自己实现一个类class,
并完成其中的__enter__和__exit__方法。

还是不够简洁方便,python提供了一个内置的模块contextlib,更简单的写法!
该模块有一个装饰器@contextlib.contextmanager,可以将函数变为上下文管理器。

基本语法:

@contextmanager
def example_generator(<arguments><
举报

相关推荐

0 条评论