故事的开始是这样子得,有一天你走在马路上,看到了一个穿着这样文化衫的人,like this:
他很有礼貌的跟你打招呼,你是小白,你是一个彻彻底底的编程白痴,你看到了python,看到了 -c,看到了import this,你好奇:‘what’s this?’,于是乎你马上去找了一个自己很懂编程的good friend让他给你解释,然后他给你进行了以下的操作:
首先他让你启动了你的Personal Computer,一顿行云流水的操作,下载好了python,打开了你的cmd窗口,根据你的描述输入了import this,然后你的眼睛看到了奇妙的东西:
此时,轮到了你的主场:“哈,我翻译小能手岂是浪得虚名!”,各个单词在脑海中疯狂跳动,你把它们拼凑成最好的词句:
•优美胜于丑陋(Python 以编写优美的代码为目标)
•明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
•简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
•复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
•扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
•间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
•可读性很重要(优美的代码是可读的)
•即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
•不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
•当存在多种可能,不要尝试去猜测
•而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
•虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
•做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
•如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
•命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
what?这是什么?这是在自己吹嘘自己呀!再百度里千寻百找,原来是“python之禅”!
关于python之禅还有一个小彩蛋:再一次Pycon大会上,主办方想给大会定一个Slogan印在T恤上,大家集思广益,在最后的几个候选名单中投选出了 import this这个幸运儿,并将它发布在 python2.2.1 上。