当前位置: 首页 > 图灵资讯 > 行业资讯> python中contextmanager装饰的方法

python中contextmanager装饰的方法

来源:图灵python
时间: 2024-08-27 13:53:32

(推荐操作系统:windows7系统Python 3.9.1、DELL G3电脑。)

1、说明

contextmanager 用于装饰生成器函数,装饰生成器函数后,返回上下文管理器 enter() 和 exit() 方法由 contextmanager 负责提供,而不是以前的迭代子。被装饰的生成器函数只能产生一个值,否则会导致异常 RuntimeError;产生的值会被赋值 as 子句中的 target,如果使用了 as 子句的话。下面是一个简单的例子。

2、装饰器 contextmanager实例

fromcontextlibimportcontextmanager
@contextmanager
defdemo():
print'[Allocateresources]'
print'Codebeforeyield-statementexecutesin__enter__'
yield'***contextmanagerdemo***'
print'Codeafteryield-statementexecutesin__exit__'
print'[Freeresources]'

withdemo()asvalue:
print'AssignedValue:%s'%value

以上是python中contextmanger的装备装饰方法,希望对大家有所帮助。更多Python学习指导:python基础教程