前言

声明与资源的访问之际,确保无论在必要的“清理”行动,释放资源,如文件的实施过程中出现的异常自动获取和释放后自动关闭/螺纹锁等。。

导致问题

下面的代码:

上面的代码有两个问题:
(1)异常文件读取,但不作任何处理;
(2)可能会忘记关闭文件句柄;

提高

虽然这个代码工作很好,但它是相当长。
它使用,可以减少冗余,可以自动处理产生的上下文异常。下面的代码:

与作品

(1)保持与以下语句进行评价时,返回的对象“-输入-()”方法被调用时,该方法的返回值将被分配给在后的变量;
(2)当与所有码块后者将被执行,调用返回的对象在“-出口-()”方法的前。
它的工作原理与代码示例:

运算结果的代码如下:

你可以看到,整个操作过程如下:
(1)输入()方法被执行;
(2)enter()返回在这种情况下该方法的值是“foo”的,分配给变量样品;
(3)被执行块,变量“富”的打印样本值;
(4)出口()方法被调用;

【注意:】出口()方法有三个参数,exc_type,exc_val,exc_tb,这些参数是在异常处理是非常有用的。
exc_type:错误的类型
exc_val:对应于误差类型的值
exc_tb:代码的位置误差
示例代码:

程序的输出:

总结一下

事实上,与块的后面抛出异常,出口被执行()方法。当开发库,清理资源,关闭文件等操作,可以放置exit() 方法。
总之,随着-作为表达极大地简化了每个工作写最后,这个优雅的代码是有很大的帮助。
如果不止一个,你可以写:

参考网站


文/信息/ 72911564

本文链接:Python 中 with用法及原理

您可能也会喜欢

友情链接:

心经唱诵 经文 大悲咒注音