上下文管理器with及在flask中的应用

文章详细介绍了Python中的上下文管理器机制,通过with语句使用对象时,调用__enter__方法进入上下文,执行完代码后调用__exit__方法退出,同时处理异常情况。在Flask框架中,app_context()是一个上下文管理器示例,用于管理应用程序的上下文。如果__exit__方法返回True,则表示已处理异常。
摘要由CSDN通过智能技术生成

**上下文管理器 == enter() + exit() ,这里的with A() 就是一个上下文管理器表达式。而a_obj实际返回的结果是__enter__()方法的返回结果。

在这里插入图片描述

2023-01-09再次修改示例,对__exit__()的参数进行补充,exit默认返回False,exc_tb会接到异常,异常在第33行发生。如果在exit() 中返回True,则except中默认为异常已经在__exit__()中做了处理:
在这里插入图片描述
这是未注释第33行的解释器结果:
在这里插入图片描述
这是注释第33行的解释器的结果:
在这里插入图片描述

这里是在flask中的应用:with app.app_context():在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值