(推荐操作系统: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基础教程