加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

while、for、try except

发布时间:2021-04-07 12:53:13 所属栏目:评论 来源:互联网
导读:就是说,try except else finally分别对应如下关系: try 可能抛出异常的语句。 except 捕获异常,处理异常。 else 无异常,明确得知try语句中无异常。而不是这两种情况:有异常;有异常但处理了。 finally 有或无异常,都执行的语句,一般为关闭、清理工作

就是说,try except else finally分别对应如下关系:

  •  try       可能抛出异常的语句。
  •  except    捕获异常,处理异常。
  •  else      无异常,明确得知try语句中无异常。而不是这两种情况:有异常;有异常但处理了。
  •  finally   有或无异常,都执行的语句,一般为关闭、清理工作。

else语句在try except句法中最主要的功能,是明确指出了没有异常出现时才执行的语句块。与出现异常,或者出现异常并且处理了这两种情况是分开的。这个语法块是在没有异常出现时执行的,保证了环境的正确性。

三、简单总结

  •  for while循环中,else用于循环正常结束,且循环体中没有break、return或异常抛出,则执行else语句块中的内容。
  •  try except异常捕获处理语句中,else是定义用于没有异常出现时执行的部分。
  •  不同于if else 语句,以上两种else用法看起来有些复杂。简单理解,可以把else语句块当做语句主体中“没有幺蛾子“时执行的语句块。这样就可以简单理解了else的两种用法了。
  •  许多人反对在此处复用else关键字来表达除外情况,认为then关键字或许更好(luciano ramalho《fluent python》),更甚者主张遵循“最小惊讶原则”,即在for和while语境里不要用else关键字,以免它给人带来疑惑(Brett Slatkin《Effective Python》)。笔者认为,如果把两处else统一理解为“没有出现问题,没有幺蛾子”,那么此时的else语法会变成一个很有用的技巧。 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读