python编程的基本知识(Python之禅--给编程者的掏心窝子的话)

下面是最简单的Python程序:

import this

运行之后,便可以得到如下的输出了:

The Zen of Python, by Tim Peters Python之禅--Tim Peters

  • Beautiful is better than ugly:优美好于丑陋;

Python以编写优美的代码为目标。

  • Explicit is better than implicit:直接明了优于含蓄晦涩;

优美的代码应当是明了的,命名规范,风格相似

  • Simple is better than complex:简洁胜过繁杂;

优美的代码应当是简洁的,不要有复杂的内部实现

  • Complex is better than complicated:繁杂再不好,也比凌乱强。

如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁。

  • Flat is better than nested:扁平好于嵌套;

优美的代码应当是扁平的,不能有太多的嵌套

  • Sparse is better than dense:代码间留有适当间隔,强于紧凑排版;

优美的代码有适当的间隔,不要奢望一行代码解决问题

  • Readability counts:重要的是可读性强;

优美的代码必然是是可读的

  • Special cases aren't special enough to break the rules:遇到特例时,也不要破坏上面的规则。

这些规则至高无上

  • Although practicality beats purity:尽管有时实用性比起纯粹性要占上风。

人都有偷懒的时候。

  • Errors should never pass silently:不要轻易放过任何错误,
  • Unless explicitly silenced:除非有意而为之。

精准地捕获异常,不写 except:pass 风格的代码

  • In the face of ambiguity, refuse the temptation to guess:面对可能出现混淆(多种可能)的时候,拒绝轻信猜测。

所以尽量避免写出容易产生误解的代码。

  • There should be one-- and preferably only one --obvious way to do it:理应确立一个,且唯一的一个明确方式来实现它。

是在无法找到明确的方式,最笨的穷举方法也是可以的。

  • Although that way may not be obvious at first unless you're Dutch:也许这一点并不显而易见,那是因为你不是Python语言的创建者( Guido van Rossum[1] 是Dutch)。

这里的Dutch是指Guido van Rossum

python编程的基本知识(Python之禅--给编程者的掏心窝子的话)(1)

▲ Guido van Rossum

  • Now is better than never:立即行动胜过永远不行动,

说了不一定做,做了不一定成。

  • Although never is often better than right now:但要小心立,即行动也会把事情搞砸。

还是在行动之前要三思

  • If the implementation is hard to explain, it's a bad idea:如果算法方案很难被解释的清楚,这个方案可能并不好。

或者你还没有找到一个很好的解释方法。

  • If the implementation is easy to explain, it may be a good idea:如果方案容易被理解,这才是一个好的方案。

事实上,好的理解会对方法的实现、纠错、调试、优化起到非常重要的作用。

  • Namespaces are one honking great idea -- let's do more of those!:命名空间是一个绝妙的理念,我们应该多加利用它。

除非你不打算今后不再阅读你的代码,清晰合理的命名空间是使得代码进行维护和更新的基石。

参考资料

[1] Guido van Rossum: https://gvanrossum.github.io//

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页