python中contextmanager装饰的方法

2025-12-01 0 34,695

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

1、说明

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

2、装饰器 contextmanager实例

        from contextlib import contextmanager
 @contextmanager
def demo():    
print '[Allocate resources]'    
print 'Code before yield-statement executes in __enter__'    
yield '*** contextmanager demo ***'    
print 'Code after yield-statement executes in __exit__'    
print '[Free resources]'
 
with demo() as value:    
print 'Assigned Value: %s' % value

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 python基础 python中contextmanager装饰的方法 https://www.zhiup.top/2219.html

相关