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之禅--给编程者的掏心窝子的话文章插图
▲ 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!:命名空间是一个绝妙的理念 , 我们应该多加利用它 。
除非你不打算今后不再阅读你的代码 , 清晰合理的命名空间是使得代码进行维护和更新的基石 。
参考资料【Python之禅--给编程者的掏心窝子的话】[1] Guido van Rossum: