Python:else和with的用法

else和with是Python中两个重要的关键字

Else

1.if…else…(判断语句)
如果if语句中的条件不满足,则执行else中的语句
2.while\for…else…(循环语句)
如果while和for循环正常结束,则执行else中的语句
要特别注意的是,如果循环是通过break语句跳出来或者出现异常,那么else语句将不再进行
3.try…except…else…finally(捕捉异常)

关于try….except1…except2…else…finally的执行顺序:是try执行完没有任何问题(即各个except语句均没有捕获到异常)时,再去执行else语句,最后执行finally首尾工作,若执行过程中只要有except捕获到异常,就跳过else直接执行finally;

————————————————
版权声明:本文为CSDN博主「py_tester」的原创文章,遵循
CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/py_tester/article/details/78336226

With

在 Python 2.5 中, with 关键字被加入。它将常用的 try … except … finally … 模式很方便的被复用。看一个最经典的例子:

with open('file.txt') as f:
  content = f.read()

在这段代码中,无论 with 中的代码块在执行的过程中发生任何情况,文件最终都会被关闭。如果代码块在执行的过程中发生了一个异常,那么在这个异常被抛出前,程序会先将被打开的文件关闭。

with 的一般执行过程:

with EXPR as VAR:
  BLOCK

其中: EXPR 可以是任意表达式; as VAR 是可选的。其一般的执行过程是这样的:

计算 EXPR ,并获取一个上下文管理器。
上下文管理器的 exit() 方法被保存起来用于之后的调用。
调用上下文管理器的 enter() 方法。
如果 with 表达式包含 as VAR ,那么 EXPR 的返回值被赋值给 VAR 。
执行 BLOCK 中的表达式。
调用上下文管理器的 exit() 方法。如果 BLOCK 的执行过程中发生了一个异常导致程序退出,那么异常的 type 、 value 和 traceback (即 sys.exc_info()的返回值 )将作为参数传递给 exit() 方法。否则,将传递三个 None 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值