ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

with关键字

2021-11-19 16:01:56  阅读:234  来源: 互联网

标签:__ 语句 管理器 关键字 enter 上下文 方法


with关键字

 

with表达式其实是try-finally的简写形式。但是又不是全相同。

 

一、格式

 

 

 

但是with本身并没有异常捕获的功能,但是如果发生了运行时异常,它照样可以关闭文件释放资源。

 

 

二、原理

 

with 语句实质是上下文管理。

 

1、上下文管理协议。包含方法__enter__() 和 __exit__(),

支持该协议对象要实现这两个方法。

2、上下文管理器,定义执行with语句时要建立的运行时上下文,

负责执行with语句块上下文中的进入与退出操作。

3、进入上下文的时候执行__enter__方法,如果设置as var语句,

var变量接受__enter__()方法返回值。

4、如果运行时发生了异常,就退出上下文管理器。调用管理器__exit__方法。

 

 

三、应用场景

  1、文件操作。

  2、进程线程之间互斥对象。

  3、支持上下文其他对象

标签:__,语句,管理器,关键字,enter,上下文,方法
来源: https://www.cnblogs.com/hecity/p/15577767.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有