之所以Python 不仅仅能配合 if 的 else这个特性不够突出,但是早已经不是什么秘密了。可能是因为很多编程语言都有else语法,但都不支持这一特性,才使得这个特性如此的不明显吧,但它却是Python很有特点的一个特性。 喜欢Python读者君可以加我们Python学习交流 330637182群内有大量的实战和新手资料视频千**群等你加入。 规则else不仅能用在if语句中,而且可以用在for、while和try语句中。当然for/else,while/else和try/else从语义的层面很类似,虽然他们和if/else语意差很多,不过还是值得一看。 1、for/else 只有当for执行完毕的时候,else才会执行。 Python学习交流330637182 群内每天更新学习资料 这意味着不能被 break 打断 Python学习交流330637182 群内每天更新学习资料 但是被 continue 跳过是没问题的 Python学习交流330637182 群内每天更新学习资料 不过,显然,用异常打断是不可以的 Python学习交流330637182 群内每天更新学习资料 2、while/else 只有当while因为条件变成falsy,else才会执行 Python学习交流330637182 群内每天更新学习资料 同样的,这也意味着不能被 break 打断 Python学习交流330637182 群内每天更新学习资料 当然,continue 和 exception 的例子于 for是一样的,这里就不做过多的介绍了。 3、try/else 只有当在try中没有发生异常时,else才会执行。 Python学习交流330637182 群内每天更新学习资料 如果try引发了异常,那么else将无法执行 Python学习交流330637182 群内每天更新学习资料 注意:except并不负责处理else中的异常 Python学习交流330637182 群内每天更新学习资料 陷阱这个规则还有一些小陷阱 Python学习交流330637182 群内每天更新学习资料 由于return强迫流程离开了整个主体快,因此不会出发else 价值要说else在Python中最大的价值的地方就是使得try/except语法更加清晰可读
Python学习交流330637182 群内每天更新学习资料 可以看到,这个代码,更加能够体现出except是服务dangerous_call() 而不是 after_call()的。
本文转载于微信公众号: python(python6359),更多微信文章请扫描关注公众号: |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|