Python with语句用法原理详解
作者:LexiCalibur 发布时间:2023-05-01 08:17:27
标签:Python,with
with 用法理解
Overview
with 与with之后的object一起,起到了抛出异常和单独生成一个空间让代码在空间里运行的效果。
实验代码
class A:
def __init__(self):
self.a = 0
def __enter__(self):
print('enter')
def __exit__(self, exc_type, exc_val, exc_tb):
print('exit')
if __name__ == '__main__':
a = A()
with a:
print('first step')
print(1/0)
print('last setp')
print('continue running')
print('continue running')
print('continue running')
print('continue running')
上述代码输出结果为
enter
first step
exit
ZeroDivisionError: division by zero
代码理解
根据上述代码的测试结果可以看出:
with语句先运行,with之后对象的__enter__()方法
然后运行with空间的代码
1.1. 当with空间代码出错后,会直接运行__exit__()方法,然后抛出异常
1.2 当with空间代码没有错误时,程序按顺序__enter()__>> 逻辑语句>>exit()>>之后的代码继续运行
来源:https://www.cnblogs.com/LexiCalibur/p/13215603.html
0
投稿
猜你喜欢
- 本文实例讲述了Yii2框架实现登陆添加验证码功能。分享给大家供大家参考,具体如下:models中LoginForm.phppublic $v
- 在JAVASCRIPT中LEFT函数的等价函数:function left(mainStr,lngLen) {if&nb
- python中自带了处理python的模块,使用时候直接import json即可。 使用loads方法即可将json字符串转换成pytho
- 数据库连接:<% set conn=server.createobject("adodb.connection&q
- 二叉树中和为某一值的路径:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直
- 因为评论有很多人说爬取不到,我强调几点kv的格式应该是这样的:kv = {‘cookie':‘你复制的一长串cookie',
- 实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能
- 本文实例讲述了python 实现的发送邮件模板。分享给大家供大家参考,具体如下:##发送普通txt文件(与发送html邮件不同的是邮件内容设
- 1.语法及用法(1)语法:str.endswith(suffix[,start][,end])str:字符串,待判断字符串suffix:后缀
- Python复合语句复合语句是包含其它语句(语句组)的语句;它们会以某种方式影响或控制所包含其它语句的执行。通常,复合语句会跨越多行,虽然在
- 举例: 如:在字段名处输入:username,password,email,telphone 注意:不同的字段名用英文逗号隔开,且不支持星号
- Python 语言的优势在于其功能强大,可以用于网络数据采集、数据分析等各种应用场景。本篇文章将介绍如何使用 Python 获取网络数据、使
- 代码如下:SELECT * FROM (SELECT TRUNC(SYSDATE, 'mm') + ROWNUM
- 本文实例为大家分享了JavaScript缓动动画函数的封装代码,供大家参考,具体内容如下本文将从封装缓动动画的以下几个部分进行封装(1、单个
- 在开始安装SQL Server 2005数据库过程中,出现了下面的错误,安装不能继续进行:The SQL Server System Con
- 本文实例讲述了layer弹窗插件操作方法。分享给大家供大家参考,具体如下:1、首先去http://layer.layui.com/下载插件2
- <?php header(“Content-Type:text/html;charset=utf-8″); if (isset($_G
- 该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!CSV
- 如果你能很好的理解我下面的一句话,那这些都不是问题了。asp是服务器端语言,它的作用是动态生成客户端浏览器所能识别的html css jav
- 通过HTTP_USER_AGENT判断用户是从手机上访问,还是电脑IE上访问。 asp代码片段:主要使用了正则匹配手机环境,大家可以补充手机