python的哲学
打开python的命令交互环境输入:import this
Beautiful is better than ugly.
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.
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.
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!
译文:
简单比丑陋要好
直接比含蓄要好
简单比繁复要好
繁复比复杂要好
平铺比嵌套要好
稀疏比密集要好
可读性很重要
特例不能破坏规则
尽管使用优于纯正
错误用于不能安静的通过
除非明确的让它安静
拒绝在模糊的地方猜测
应该有一种,并且最好只有一种,明显的方法去做一件事
尽管刚开始时那种方法并不明显,除非你是荷兰人
现在要比永远不更好
尽管永远不常常比现在要好
如果一个实现难以解释,那么它就是一个不好的想法
如果一个实现易于解释,那么它可能是一个好的想法
命名空间是一个很伟大的想法,它可以让我们做的更多!
注:
complex,comlicate的区别
作者:irayscut
链接:https://www.zhihu.com/question/19644376/answer/12500687
来源:知乎
问:In “The Zen of Python”, by Tim Peters, the sentence “Complex is better than complicated” confused me. Can anyone give a more detailed explanation or an example?
答:although complex and complicated sound alike, they do not mean the same in this context.The Zen therefore says: It is okay to build very complex applications, as long as the need for it is reasonable.
To give an example:
counter = 0
while counter < 5:
print counter
counter += 1
The code is very easy to understand. It is not complex. However, it is complicated. You do not need to manually perform most of the steps above.
for i in xrange(5):
print i
This code is more complex than the above example. But: knowing the documentation of ´xrange´ you can understand it by a single glance. Many steps are hidden behind an easy-to-use-interface.As processes grow bigger, the gap between complicated and complex gets wider and wider.
A general rule of thumb is to follow the other principles of the Zen of Python:
**If it is hard to explain, it is not a good idea.
If it’s easy to explain, it might be a good idea.**