温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中的EAFP和LBYL代码风格是什么

发布时间:2021-10-20 16:16:40 来源:亿速云 阅读:175 作者:iii 栏目:编程语言

本篇内容介绍了“Python中的EAFP和LBYL代码风格是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. EAFP 风格

Python 有一套自己的哲学,其中 EAFP 是其中比较有名的。它的全称是:

Easier to Ask for Forgiveness than Permission

强行翻译一下,就是 寻求原谅比获得授权更容易。

Python中的EAFP和LBYL代码风格是什么

对于第一次接触这个 EAFP 名词的同学,可能不好理解这句话的意思。

没有关系,咱先看一下 EAFP 风格的代码是什么样的,你就能立马 get 了。

下面这段代码,我在 try 里使用 [key] 的方法获取字典一个 value 值,但是由于 profile 并没有 age  的键。所以会抛出异常。

profile = {"name": "明哥"} try:     print(profile["age"]) except KeyError:     print("Key is not exist")

像这种,先相信代码本身没有问题,任其执行,有问题了再通过捕获进行处理的代码风格,就叫做 EAFP 风格。

我个人把这种写法,称之为 面向崩溃编程。

2. LBYL 风格

LBYL 的全称是:

Look Before You Leap

翻译一下,就是 你跳之前先看看,这是一种比较保守的写法。这种写法可能会有让你写很多的 if 判断语句来规避可能出现错误的各种场景。

还是以上面的代码为例,使用 LBYL 风格来写的话,是这样的

profile = {"name": "明哥"} if "age" in profile:     print(profile["age"]) else:     print("Key is not exist")

3. 选择哪种风格?

用一个生动的例子来描述他们的区别。

有一对小伙伴一起约去某名山游玩,由于这座山比较险峻,有各种各校的悬崖。

伙伴A,是一个比较大胆开放的人,他自己穿上了降落伞,所以在游玩的时候,无所顾忌,都不看路,一旦不小心跌落悬崖了也有降落伞保命。 -- 这是 EAFP  风格

而伙伴B,是一个比较保守的人,他没有穿降落伞,所以每走一走都要看一看,前面是不是悬崖。-- 这是 LBLY 风格

EAFP虽然是 Python 比较推荐的一种编码风格,但更多情况下,这两种风格会同时存在于你的代码中代码风格的目的是增强代码的可读性和健壮性,在有些场景下  EAFP 风格更加易读,在有些场景下 LBLY 风格更加易读,因此不必纠结使用哪种风格,具体情况应该具体分析。

“Python中的EAFP和LBYL代码风格是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI