当前位置: 首页 > 科技观察

Python中的EAFP和LBYL编码风格究竟是什么?

时间:2023-03-16 22:56:13 科技观察

1。EAFP风格Python有自己的哲学,其中EAFP是比较有名的。它的全名是:EasertoAskForgivenessthanPermission。强行翻译,请求原谅比获得授权更容易。对于第一次接触EAFP这个术语的同学来说,可能很难理解这句话的意思。没关系,我们看看EAFP风格的代码长什么样,立马搞定。在下面的代码中,我在try中使用[key]方法来获取字典的值,但是因为配置文件没有年龄键。所以会抛出异常。profile={"name":"明哥"}try:print(profile["age"])exceptKeyError:print("Keyisnotexist")像这样,先相信代码本身没有问题,让它执行.如果有问题,那么capture处理的代码风格被称为EAFP风格。我个人称这种编写面向崩溃的编程方式。2.LBYLstyleLBYL的全称是:LookBeforeYouLeapTranslate,意思是lookbeforeyoujump,这是一种比较保守的写法。这种写法可能会让你写很多if判断语句,避免各种可能出错的场景。还是以上面的代码为例,如果你写成LBYL风格,就是profile={"name":"明哥"}if"age"inprofile:print(profile["age"])else:print(“Keyisnotexist”)3。选择哪种风格?用一个形象的例子来描述它们的区别。一对好朋友相约一起去某座名山。因为这座山比较陡峭,所以有各种各样的悬崖峭壁。合伙人A是一个大胆开放的人。他自己带上了降落伞,所以玩的时候,他毫无顾忌,也不看路。如果他不小心掉下悬崖,他会有降落伞保命。--这是EAFP风格,B伙伴是一个比较保守的人。他没有带降落伞,所以每次走路都要检查一下,看前面有没有悬崖。--ThisistheLBLYstyleEAFP是Python推荐的一种编码风格,但更多情况下,这两种风格会同时存在于你的代码中。代码风格的目的是增强代码的可读性和健壮性,EAFP风格在某些场景下可读性更高,而LBLY风格在某些场景下可读性更高,所以不用纠结使用哪种风格,具体情况具体分析。本文转载自微信公众号《Python编程时间》,可通过以下二维码关注。转载本文请联系Python编程时间公众号。