首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是Python 中的EAFP 哲学

摄影:产品经理 产品经理心心念念的海胆水饺 Python 有一套自己的哲学,其中 EAFP 是其中比较有名的。...但是如果使用 EAFP 哲学来写代码,就变得非常简单了: import requests try: resp_info = requests.get('https://xxx.com/xxx'...与 EAFP 相对应的是 LBYL:Look Before You Leap——你跳之前先看看。这种开发风格一般适用于 C 语言。也就是在各种操作之前频繁用 if 先做检查。...当然,EAFP虽然是 Python 推荐的一种编码风格,但使用的时候还是需要看具体情况。我们日常生活中,经常听到某某渣男追女神一直追不上,于是直接把事情办了,再跪下来一边打自己脸,一边哭,一边求原谅。...所以说,EAFP 有用是有用,但是不应该在什么地方都用。 我之前有一批文章就特别讲到了,不应该滥用 try … except: 脱离苦海,从避免滥用try…except…开始。

1.5K10

听说你会玩 Python 系列 4 - LBYL vs EAFP

本文含 2019 字,2 图表截屏 建议阅读 6 分钟 本文是听说你会玩 Python 系列的第四篇 1 - 六酷技巧 2 - 99% 的人会做错的题 3 - 深挖变量 4 - LBYL vs EAFP...引言 写了 Python 这么久,是不是对 LBYL 和 EAFP 这两个缩写还一无所知?...4 总结 总结一下: LBYL 是先检查再执行,用 if-else 语句 EAFP 是不检查出了错再处理,用 try-except 语句 Python 更推荐 EAFP,因为 它可读性更强。...想想 EAFP 只有在出现异常的时候才处理错误,而 LBYL 需要每次运行前都要检查。 其实从 Java 转过来的同学应该更习惯 LBYL 。...LBYL 和 EAFP 是两种编程风格,或两种编程哲学,没有对或不对,只有喜欢或不喜欢。 Stay Tuned! ?

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python 3000字编程风格指南

基本目录结构: 1 基本编程习惯 1.1 多余的空格 1.2 是否为 None 判断 1.3 lamda 表达式 1.4 最小化受保护代码 1.5 保持逻辑完整性 1.6 使用语义更加明确的方法 2 EAFP...那么,EAFP防御风格有何问题呢?它主要会带来一些我们不想出现的副作用。...其实,除了以上EAFP防御性编程风格外,还有一种编程风格与它截然不同,它虽然能很好的解决EAFP的副作用,但是缺点更加明显,所以Python中不太提倡大量的使用此种风格。...') 使用LBYL来写就是如下这样: if 'c' in d: val = d['c'] else: print('key not existence') EAFP风格的代码如下:...结论:就Python语言,推荐使用EAFP风格,个别受保护的块,若无法实现原子操作的地方可以使用LBYL风格。

64110

每个Python程序员都应该知道的10个缩写

EAFP(Easier to Ask Forgiveness than Permission)和LBYL(Look Before Your Leap) EAFP(Easier to Ask Forgiveness...通过应用EAFP规则,如果我们想更进一步,我们可以简单地使用try ... except编写特定的代码。用语句来处理代码可能引发的潜在异常的问题。即先考虑发生哪些意外情况,事后再进行处理。...以下代码段显示了使用EAFP与LBYL的可能方案。使用EAFP编码样式,我们只需在try…except语句中包装我们的代码和可能的异常,而使用LBYL编码样式,我们必须使在之前验证适用条件。...如您所见,EAFP代码看起来很干净,而没有创建嵌套结构。当然,我们也可以在项目中应用LBYL。...其他重要的编码原理包括DRY和EAFP。如果愿意,也可以在编码中做一些LBYL。LEGB规则和MRO将帮助我们了解如何解析变量,属性和函数以使代码的预期运行效果。

80510

流畅的 Python 第二版(GPT 重译)(十)

甚至在官方 Python 术语表中都有一个缩略语/口号来记录这一点: EAFP 宽恕比许可更容易。这种常见的 Python 编码风格假设存在有效的键或属性,并在假设被证明为假时捕获异常。...这种风格与EAFP方法形成对比,其特点是存在许多 if 语句。在多线程环境中,LBYL 方法可能会在“观察”和“跳转”之间引入竞争条件。...这个问题可以通过使用锁或使用 EAFP 方法来解决。 鉴于 EAFP 风格,了解并善于使用try/except语句中的else块更有意义。...Python 速查手册,第 3 版,由马特利等人编写,有一章关于异常,对 EAFP 风格进行了出色的讨论,归功于计算先驱格雷斯·霍珀创造了“宽恕比许可更容易”的短语。

13810

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券