python知识点梳理--with语句

上下文管理协议与with语句

with语句适用于对资源进行访问的场合, 确保不管使用过程中是否会发生异常都会执行必要的清理操作, 释放资源, 比如文件使用后自动关闭、线程中锁的自动获取和释放等.

上下文管理器

上下文管理器是指定义了__enter__函数和__exit__函数的类的对象,这种对象支持上下文管理协议. 上下文管理协议是指在类中定义__enter函数和__exit().

with context_expr as sth:
          some code

context_expr是一个上下文管理器. Python中的with语句要求对象实现__enter__和__exit__函数, 调用with语句时, 会先调用__enter__函数;在退出时则会调用__exit__函数. __exit__函数一方面可以释放资源, 另一方面则可以处理异常.

如果是以下语句: with context_expr() as sth, 那么在调用__enter__函数后, 将返回值写入sth中.

注意__exit__()函数有三个参数:exc_ty、 exc_val、tb. 其中exc_ty表示异常类型, exc_val表示异常值, tb表示对异常的追溯. exit()可以以某种方式来使用异常信息, 或者返回None表示什么都没有发生.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值