Zen of Python -- 蟒之禅!

::-- ZoomQuiet [2005-02-18 02:58:19]

1. 禅

解释: PythonZen/ExPlain

译文

原文

蠎 禅

美丽好过丑陋;
明显好过隐晦;
简单好过复合;
复合好过复杂;
扁平好过嵌套;
稀疏好过密集;
可读性最重要;
即便实用性比纯度重要,
但是!特殊案例不可特殊到打破规则;
错误从来不会默默消失,
直到明确的让它闭嘴!
面对模糊,拒绝猜测的诱惑;
应该有一个(宁愿只有一个)显而易见的解决方法;
尽管刚开始方法不会是很明显,除非你是(Dutch)
即使永远不做比"立刻"做要"聪明",
但是!现在就做永远比不做要好;
只要实现很难解释,那么它就不是一个好主意;
只要实现很容易解释,那么这就是一个好主意;
名称空间是一个正在召唤的绝妙想法
--大家一起来实践这些规则吧!

-- by Tim Peters

-- ZoomQuiet 整理

优美胜过丑陋
明确胜过含蓄
简单胜过复杂
复杂胜过难懂
扁平胜过嵌套
稀疏胜过密集
易读亦有价
尽管实用会击败纯洁
特例也不能特殊到打破规则
除非明确地使其沉默
错误永远不应默默地溜掉
面对着不确定,要拒绝猜测的诱惑
应该有一个--宁肯只有一个--明显的实现方法
也许这个方法开始不是很明显,除非你是荷兰人
尽管不做通常好过立刻做
但现在做也要胜过不去做
如果实现很难解释,那它就是一个坏想法
如果实现容易解释,那它可能就是一个好想法
名字空间是一个响亮的出色想法--就让我们多用用它们

-- Tim Peters
-- 译:limodou
Python之道 

美比丑好
直言不讳比心照不宣好
简单比困难好
困难总还比复杂好

平面的比嵌套的好
错落有致比密密匝匝的好
可读性很重要

虽然实用比纯粹更重要
但特殊情况不能特殊到打破规律
永远别让错误悄悄地溜走
除非是你故意的
碰到模棱两可的地方,绝对不要去作猜测
什么事情都应该有一个,而且最好只有一个显而易见的解决办法
虽然刚开始的时候,这个办法可能不是那么的显而易见,但谁叫你不是荷兰人
有些事情不理不睬可能会比过一会解决要好
但最好是现在就解决

如果一个想法实现起来很困难,那它本身就不是一个好想法
如果一个想法实现起来很容易,那它或许就是一个好想法
名字空间是个了不起的想法,所以我们现在就开始吧

注释::

  1. Zen of Python

    • Zen是禅的意思,是一个在老外那里很时髦的中国词。不过我们只说 XX之道,从来没有 XX之禅的说法

  2. Complex is better than complicated

    • 这里能体现英语的表达力。complex和complicated在中文里都是复杂的意思,但是两者有区别。complex是指内部关系的复杂,而complicated是指牵涉到很多外部的事务。

      这里,我也不知道应该怎么翻译,姑且找了一个。希望能有网友帮忙,找一个更好的

  3. Now is better than never.

    • Although never is often better than *right* now.

    • 字面意思不难理解,但翻译过来不成句子。我这里做了补充,但是不知道贴切不贴切。

  • 其他地方,或许有些朋友会认为有些问题,不过我自认为理解准确无误。

shhgs <[email protected]>        
回复: [email protected]
收件人: [email protected]
日期: 2006-1-2 上午2:34
主题: [python-chinese] The Zen of Python, Python之道

The Zen of Python

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!

-- by Tim Peters

last edited 2006-01-02 09:05:15 by ZoomQuiet