EAFP vs LBYL】的更多相关文章

EAFP vs LBYL 检查数据可以让程序更健壮,用术语来说就是防御性编程.检查数据的时候,有EAFP和LBYL两种不同的编程风格,具体的意思如下: LBYL: Look Before You Leap,即事先检查: EAFP: It’s Easier to Ask Forgiveness than Permission,即不检查,出了问题由异常处理来处理. 异常处理总是比事先检查容易,因为你很难提前想到所有可能的问题.所以,一般情况下编码时会倾向使用EAFP风格,但它也不是适应所有的情况.两…
EAFP:Easier to ask for forgiveness than permission 获得事后原理总是比事先得到许可要容易的多. 这个EAFP在python中表现的比较多.EAFP,This common Python coding style assumes the existence of valid keys or attributes and catches exceptions if the assumption proves false. This clean and…
概念 EAFP:easier to ask forgiveness than permission LBYL:look before you leap 代码 # LBYL def getUserInfo(user): if user == None: print('person must be not None!') print(user.info) # EAFP def getUserInfo(user): try: print(user.info) except NameError: pri…
何为pythonic? pythonic如果翻译成中文的话就是很python.很+名词结构的用法在中国不少,比如:很娘,很国足,很CCTV等等. 我的理解为,很+名词表达了一种特殊和强调的意味.所以很python可以理解为:只有python能做到的,区别于其他语言的写法,其实就是python的惯用和特有写法. 举个例子: 很python的写法: a,b = b,a 不python的写法: temp = a a = b b = temp 上面的例子通过了元组的pack和unpack完成了对a,b的…
最近在网上看到一篇介绍Pythonic编程的文章:Code Like a Pythonista: Idiomatic Python,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要原因是作者发现很多有经验的Pythoner写出的代码不够Pythonic.我觉得这篇文章很不错,所以将它用中文写了下来(不是逐字的翻译,中间加了一些自己的理解),分享给大家.另:由于本人平时时间有限,这篇文章翻译了比较长的时间,如果你发现了什么不对的地方,欢迎指出.. 一.Python之禅(The…
本文转自:http://xianglong.me/article/how-to-code-like-a-pythonista-idiomatic-python 最近在网上看到一篇介绍Pythonic编程的文章:Code Like a Pythonista: Idiomatic Python,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要原因是作者发现很多有经验的Pythoner写出的代码不够Pythonic.我觉得这篇文章很不错,所以将它用中文写了下来(不是逐字的翻译,中间…
转自:http://www.liuhaihua.cn/archives/23475.html Harries 发布于 7天前 分类:编程技术 阅读(15) 评论(0) 最近在网上看到一篇介绍Pythonic编程的文章: Code Like a Pythonista: Idiomatic Python ,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要原因是作者发现很多有经验的Pythoner写出的代码不够Pythonic.我觉得这篇文章很不错,所以将它用中文写了下来(不是逐字…
Code Like a Pythonista: Idiomatic Python David Goodger goodger@python.org http://python.net/~goodger In this interactive tutorial, we'll cover many essential Python idioms and techniques in depth, adding immediately useful tools to your belt. There a…
“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”.由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码.下面我们总结了一些在Python开发中的惯用的代码. 让代码既可以被导入又可以被执行. if __name__ == '__main__': 用下面的方式判断逻辑“真”或“假”. if x: if not x: 好的代码: name = '…
参考,搬运 http://python-web-guide.readthedocs.io/zh/latest/idiom/idiom.html 待定 1. Python支持链式比较 # bad a = 5 if a > 1 and a < 7: pass # good if 1 < a < 7: pass 2. Python交换变量 # bad x = 10 y = 5 tmp = x x = y y = tmp # good x = 10 y = 5 x, y = y, x 3.…